getrusage

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

getrusage获取当前资源使用状况

说明

getrusage(int $who = 0): array

这是 getrusage(2) 的接口。它返回了调用自系统的数据。

参数

who

如果 who 是 1,getrusage 会使用 RUSAGE_CHILDREN 来调用。

返回值

返回了一个包含系统返回数据的关联数组。所以条目均可通过文档中字段的名称来访问。

范例

示例 #1 getrusage() 例子

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

更新日志

版本 说明
7.0.0 此函数现在开始支持 Windows。

注释

注意:

在 Windows 上 getrusage() 仅会返回以下类型:

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

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

注意:

在 BeOS 2000,仅会返回以下类型:

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

参见

  • 你系统上 getrusage(2) 的 man page