getrusage

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

getrusageGets the current resource usages

Description

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

This is an interface to getrusage(2). It gets data returned from the system call.

Parameters

mode

If mode is 1, getrusage will be called with RUSAGE_CHILDREN.

Return Values

Returns an associative array containing the data returned from the system call. All entries are accessible by using their documented field names. Returns false on failure.

Changelog

Version Description
7.0.0 This function is now supported on Windows.

Examples

Example #1 getrusage() example

<?php$dat = getrusage();echo $dat["ru_oublock"];       // number of block output operationsecho $dat["ru_inblock"];       // number of block input operationsecho $dat["ru_msgsnd"];        // number of IPC messages sentecho $dat["ru_msgrcv"];        // number of IPC messages receivedecho $dat["ru_maxrss"];        // maximum resident set sizeecho $dat["ru_ixrss"];         // integral shared memory sizeecho $dat["ru_idrss"];         // integral unshared data sizeecho $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 receivedecho $dat["ru_nvcsw"];         // number of voluntary context switchesecho $dat["ru_nivcsw"];        // number of involuntary context switchesecho $dat["ru_nswap"];         // number of swapsecho $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)?>

Notes

Note:

On Windows getrusage() will only return the following members:

  • "ru_stime.tv_sec"
  • "ru_stime.tv_usec"
  • "ru_utime.tv_sec"
  • "ru_utime.tv_usec"
  • "ru_majflt" (only if mode is RUSAGE_SELF)
  • "ru_maxrss" (only if mode is RUSAGE_SELF)

If getrusage() is called with mode set to 1 (RUSAGE_CHILDREN), then resource usage for threads are collected (meaning that internally the function is called with RUSAGE_THREAD).

Note:

on BeOS 2000, only the following members are returned:

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

See Also

  • Your system's man page on getrusage(2)