>我正在 Ubuntu 14.04 上运行测试。当我使用"ps aux|grep service"则 CPU 使用率为进程的 0.1,而在 htop 中,同一进程的 CPU% 为 12.3。
谁能告诉我原因?或者我应该考虑哪个值是正确的?
谢谢
他们正在测量不同的东西。
从ps
手册页:
CPU usage is currently expressed as the percentage of time spent
running during the entire lifetime of a process. This is not ideal,
and it does not conform to the standards that ps otherwise conforms to.
CPU usage is unlikely to add up to exactly 100%.
从htop
手册页(我是htop
的作者):
PERCENT_CPU (CPU%)
The percentage of the CPU time that the process is currently
using.
因此,在htop
中,这是程序从上次刷新屏幕到现在使用的总 CPU 时间的百分比。
百分比InHtop =(过去 1.5 秒内进程使用的非空闲 CPU 时间)/1.5 秒
在ps
中,这是程序使用的CPU时间相对于其存在的总时间(即,自启动以来)的百分比。
PercentInPs =(进程启动以来进程使用的非空闲 CPU 时间)/(进程启动以来经过的时间)
也就是说,在您的阅读中,这意味着htop
说该服务现在占用了 12.3% 的 CPU,而ps
说您的服务已将其总生命周期的 99.9% 用于空闲。