2024年波兰PHPC

抓捕

(PHP 4、PHP 5、PHP 7、PHP 8)

抓捕获取当前资源使用情况

描述

抓捕(整数 $模式= 0):阵列|

这是到抢夺(2)。它获取返回的数据从系统调用。

参数

模式

如果模式是1,getrusage将被调用RUSAGE_CHILDREN公司.

返回值

返回包含从系统返回的数据的关联数组呼叫。所有条目都可以使用其记录的字段名进行访问。退换商品失败时。

变更日志

版本 描述
7.0.0 Windows现在支持此功能。

示例

示例#1获取消息()例子

<?php(电话)
$日期
=抓捕();
回声
$日期[“ru_ublock”];//块输出操作数
回声$日期[“ru_inblock”];//块输入操作数
回声$日期[“ru_msgsnd”];//发送的IPC消息数
回声$日期[“ru_msgrcv”];//收到的IPC消息数
回声$dat美元[“ru_maxrss”];//最大驻留集大小
回声$日期[“ru_ixrss”];//积分共享内存大小
回声$日期[“ru_idrss”];//积分非共享数据大小
回声$日期[“ru_minflt”];//页面回收次数(软页面错误)
回声$dat美元[“ru_majflt”];//页面错误数(硬页面错误)
回声$日期[“ru_n信号”];//接收的信号数
回声$日期[“ru_nvcsw”];//自愿上下文切换的数量
回声$日期[“ru_nivcsw”];//非自愿上下文切换的数量
回声$日期[“ru_nswap”];//掉期数量
回声$日期[“ru_utime.tv_usec”];//使用的用户时间(微秒)
回声$日期[“ru_utime.tv_sec”];//使用的用户时间(秒)
回声$日期[“ru_stime.tv_usec”];//使用的系统时间(微秒)
回声$日期[“ru_stime.tv_sec”];//使用的系统时间(秒)
?>

笔记

注释:

在Windows上获取消息()将只返回以下内容成员:

  • “ru_stime.tv_sec”
  • “ru_stime.tv_usec”
  • “ru_utime.tv_sec”
  • “ru_utime.tv_usec”
  • “ru_majflt”(仅当模式RUSAGE_SELF公司)
  • “ru_maxrss”(仅当模式俄罗斯自主权)

如果获取消息()用调用模式设置为1(RUSAGE_CHILDREN公司),然后收集线程的资源使用情况(这意味着函数内部用调用RUSAGE_THREAD公司).

注释:

在BeOS 2000上,只返回以下成员:

  • “ru_stime.tv_sec”
  • “ru_stime.tv_usec”
  • “ru_utime.tv_sec”
  • “ru_utime.tv_usec”

另请参见

  • 您的系统手册页位于抢夺(2)

添加备注

用户贡献的笔记3条注释

gmx点ch的jlh
7年前
注意,此函数返回当前进程的rusage。在一个web环境中,您有长期运行的apache进程,这些进程通过PHP执行服务于多个请求,这将返回累计计时,因此不适合告诉您使用了多少用户时间。最好的方法是在开始和结束时调用getrusage()一次,然后计算差值。
多马斯·米图萨斯
16年前
getrusage()报告只有在应用程序失去上下文并且切换到内核空间时才会更新的内核计数器。例如,在现代Linux服务器内核上,这意味着getrusage()调用将返回10ms四舍五入的信息,桌面内核返回1ms四舍六入的信息。

getrusage()根本不能用于微测量,而getmicrotime(true)可能是更有价值的资源。
到顶部