Note that this function returns rusage of the current process. In a web environment where you have long running apache processes that serve several requests with PHP executions, this will return cumulative timings and is therefore not suitable for telling how much user time your used. The best you could do is to call getrusage() once at the beginning and once at the end and calculate the difference.getrusage
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
getrusage
Референца за `function.getrusage.php` со подобрена типографија и навигација.
getrusage
(PHP 4, PHP 5, PHP 7, PHP 8)
getrusage — Ги добива тековните искористувања на ресурсите
= NULL
Ова е интерфејс за getrusage(2). Ги добива податоците вратени од системскиот повик.
Параметри
mode-
Враќа
modeе 1, getrusage ќе биде повикан соRUSAGE_CHILDREN.
Вратени вредности
Враќа асоцијативен список кој ги содржи податоците вратени од системскиот повик. Сите записи се достапни со користење на нивните документирани имиња на полиња. Враќа false при неуспех.
Примери
Пример #1 getrusage() example
<?php
$dat = getrusage();
echo $dat["ru_oublock"]; // number of block output operations
echo $dat["ru_inblock"]; // number of block input operations
echo $dat["ru_msgsnd"]; // number of IPC messages sent
echo $dat["ru_msgrcv"]; // number of IPC messages received
echo $dat["ru_maxrss"]; // maximum resident set size
echo $dat["ru_ixrss"]; // integral shared memory size
echo $dat["ru_idrss"]; // integral unshared data size
echo $dat["ru_minflt"]; // number of page reclaims (soft page faults)
echo $dat["ru_majflt"]; // number of page faults (hard page faults)
echo $dat["ru_nsignals"]; // number of signals received
echo $dat["ru_nvcsw"]; // number of voluntary context switches
echo $dat["ru_nivcsw"]; // number of involuntary context switches
echo $dat["ru_nswap"]; // number of swaps
echo $dat["ru_utime.tv_usec"]; // user time used (microseconds)
echo $dat["ru_utime.tv_sec"]; // user time used (seconds)
echo $dat["ru_stime.tv_usec"]; // system time used (microseconds)
echo $dat["ru_stime.tv_sec"]; // system time used (seconds)
?>Белешки
Забелешка:
На Windows getrusage() ќе врати само следниве членови:
"ru_stime.tv_sec""ru_stime.tv_usec""ru_utime.tv_sec""ru_utime.tv_usec""ru_majflt"(само акоmodeisRUSAGE_SELF)"ru_maxrss"(само акоmodeisRUSAGE_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"
Види Исто така
- Вашата системска man страница на getrusage(2)
Белешки од корисници 3 белешки
BeOS support is removed in PHP 7.3:
https://github.com/php/php-src/blob/php-7.3.0alpha1/NEWSgetrusage() 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.