getrusage

(PHP 4, PHP 5, PHP 7, PHP 8)

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

Описание

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

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

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

mode

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

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

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

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

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

Примеры

Пример #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) (микросекунды)
echo $dat["ru_stime.tv_sec"]; // время на системные задачи (system time) (секунды)
?>

Примечания

Замечание:

В 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)