PHPKonf İstanbul PHP Conference 2015

getrusage

(PHP 4, PHP 5)

getrusageRetourne le niveau d'utilisation des ressources

Description

array getrusage ([ int $who = 0 ] )

C'est une interface à la fonction système getrusage(2). Elle retourne un tableau associatif contenant les informations renvoyées par cet appel système.

Liste de paramètres

who

Si who est égal à 1, getrusage() sera appelé avec le paramètre RUSAGE_CHILDREN.

Valeurs de retour

Retourne un tableau associatif contenant les données retournées depuis l'appel système. Toutes les entrées sont accessibles en utilisant leurs noms de champs documentés.

Exemples

Exemple #1 Exemple avec getrusage()

<?php
$dat 
getrusage();
echo 
$dat["ru_nswap"];         // Taille de la mémoire swap
echo $dat["ru_majflt"];        // Nombre de pages mémoires utilisées
echo $dat["ru_utime.tv_sec"];  // Temps utilisateur (en secondes)
echo $dat["ru_utime.tv_usec"]; // Temps utilisateur (en microsecondes)
?>

Historique

Version Description
7.0.0 Cette fonction est maintenant supportée sous Windows.

Notes

Note:

Sous Windows, la fonction getrusage() ne va retourner que les membres suivants :

  • "ru_stime.tv_sec"
  • "ru_stime.tv_usec"
  • "ru_utime.tv_sec"
  • "ru_utime.tv_usec"
  • "ru_majflt" (seulement si who vaut RUSAGE_SELF)
  • "ru_maxrss" (seulement si who vaut RUSAGE_SELF)

Si getrusage() est appelé avec le paramètre who vallant 1 (RUSAGE_CHILDREN), alors l'utilisation de la ressource pour les threads sont collectés (ce qui signifie que, en interne, la fonction est appelée avec RUSAGE_THREAD).

Note:

Sous BeOS 2000, seuls les membres suivants sont retournés :

  • "ru_stime.tv_sec"
  • "ru_stime.tv_usec"
  • "ru_utime.tv_sec"
  • "ru_utime.tv_usec"

Voir aussi

  • La page de manuel getrusage(2) de votre système

add a note add a note

User Contributed Notes 1 note

up
4
Domas Mituzas
7 years ago
getrusage() reports kernel counters that are updated only once application loses context and a switch to kernel space happens. For example on modern Linux server kernels that would mean that getrusage() calls would return information rounded at 10ms, desktop kernels - at 1ms.

getrusage() isn't usable for micro-measurements at all - and getmicrotime(true) might be much more valuable resource.
To Top