执行时ps -r -e -o pcpu=,comm=
,显示每个进程的 CPU 百分比,该值是在多长时间内测量的?是一秒钟吗?手册页似乎没有提到这一点。
还有一个后续问题:是否可以ps
(或另一个标准 UNIX 实用程序)报告较长时间内(例如 5 秒)每个进程的 CPU 百分比? (显然,人们可以收集 5 个值并计算平均值,但我不确定这是否正确......)
附言!如果重要的话,我使用的是 macOS(运行 BSD 变体)。
答案1
对于 PS,CPU 百分比基于进程的生命周期。基本上是(用户时间+系统时间)/(现在-进程启动时间)。
因此 5% 意味着该进程在其存活时间内有 5% 的时间正在困扰 CPU。
top的做法不同,它是基于top的刷新时间。所以大多数时候这些数字是不匹配的。