ps 如何测量每个进程的 %CPU(这可以更改吗?)

ps 如何测量每个进程的 %CPU(这可以更改吗?)

执行时ps -r -e -o pcpu=,comm=,显示每个进程的 CPU 百分比,该值是在多长时间内测量的?是一秒钟吗?手册页似乎没有提到这一点。

还有一个后续问题:是否可以ps(或另一个标准 UNIX 实用程序)报告较长时间内(例如 5 秒)每个进程的 CPU 百分比? (显然,人们可以收集 5 个值并计算平均值,但我不确定这是否正确......)

附言!如果重要的话,我使用的是 macOS(运行 BSD 变体)。

答案1

对于 PS,CPU 百分比基于进程的生命周期。基本上是(用户时间+系统时间)/(现在-进程启动时间)。

因此 5% 意味着该进程在其存活时间内有 5% 的时间正在困扰 CPU。

top的做法不同,它是基于top的刷新时间。所以大多数时候这些数字是不匹配的。

相关内容