getrusage

(PHP 4, PHP 5, PHP 7)

getrusage Получает информацию об использовании текущего ресурса

Описание

getrusage ( int $mode = 0 ) : array|false

Это интерфейс к getrusage(2). Функция получает данные, возвращаемые из системного вызова.

Список параметров

mode

Если аргумент mode равен 1, getrusage будет вызвана с RUSAGE_CHILDREN.

Возвращаемые значения

Возвращает ассоциативный массив, содержащий данные возвращенные из системного вызова. Имена элементов соответствуют документированным именам полей. Возвращает false в случае возникновения ошибки.

Примеры

Пример #1 Пример использования getrusage()

<?php
$dat 
getrusage();
echo 
$dat["ru_oublock"];       // количество операций вывода блока
echo $dat["ru_inblock"];       // количество операций приема блока
echo $dat["ru_msgsnd"];        // количество отправленных сообщений IPC
echo $dat["ru_msgrcv"];        // количество принятых сообщений IPC
echo $dat["ru_maxrss"];        // наибольший размер установленной резидентной памяти
echo $dat["ru_ixrss"];         // суммарное значение размера разделяемой памяти
echo $dat["ru_idrss"];         // суммарное значение размера неразделяемых данных
echo $dat["ru_minflt"];        // количество исправленных страниц (легкая ошибка страницы)
echo $dat["ru_majflt"];        // количество ошибочных страниц (тяжелая ошибка страницы)
echo $dat["ru_nsignals"];      // количество полученных сигналов
echo $dat["ru_nvcsw"];         // количество согласованных переключений контекста
echo $dat["ru_nivcsw"];        // количество несогласованных переключений контекста
echo $dat["ru_nswap"];         // количество свопов
echo $dat["ru_utime.tv_usec"]; // время на задачи пользователя (user time) (микросекунды)
echo $dat["ru_utime.tv_sec"];  // время на задачи пользователя (user time) (секунды)
echo $dat["ru_stime.tv_usec"]; // время на системные задачи (system time) (микросекунды)
?>

Список изменений

Версия Описание
7.0.0 Добавлен поддержка этой функции в Windows.

Примечания

Замечание:

В Windows getrusage() возвращает только следующее:

  • "ru_stime.tv_sec"
  • "ru_stime.tv_usec"
  • "ru_utime.tv_sec"
  • "ru_utime.tv_usec"
  • "ru_majflt" (только если mode - RUSAGE_SELF)
  • "ru_maxrss" (только если mode - RUSAGE_SELF)

Если getrusage() вызвана с mode равным 1 (RUSAGE_CHILDREN), то будет собираться информация по использованию ресурсов потоками (что означает, что внутри функция будет вызываться с RUSAGE_THREAD).

Замечание:

В BeOS 2000, возвращается только следующее:

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

Смотрите также

  • Страница системной документации getrusage(2)