htop 和 ps 辅助输出之间的巨大差异
Huge difference between htop and ps aux output
我是 运行 Ubuntu 14.04 的测试。当我使用 CPU 检查我的使用情况时
'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 时间的百分比。
PercentageInHtop =(非空闲 CPU 进程在最后 1.5 秒内使用的时间)/ 1.5s
在 ps
中,这是程序使用的 CPU 时间相对于它存在的总时间(即自启动以来)的百分比。
PercentageInPs =(自进程启动以来进程使用的非空闲 CPU 时间)/(自进程启动以来经过的时间)
也就是说,在您的阅读中,这意味着 htop
表示该服务占用了您 CPU 现在 的 12.3%,而 ps
表示您的服务已将其总生命周期的 99.9% 闲置。
我是 运行 Ubuntu 14.04 的测试。当我使用 CPU 检查我的使用情况时 '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 时间的百分比。
PercentageInHtop =(非空闲 CPU 进程在最后 1.5 秒内使用的时间)/ 1.5s
在 ps
中,这是程序使用的 CPU 时间相对于它存在的总时间(即自启动以来)的百分比。
PercentageInPs =(自进程启动以来进程使用的非空闲 CPU 时间)/(自进程启动以来经过的时间)
也就是说,在您的阅读中,这意味着 htop
表示该服务占用了您 CPU 现在 的 12.3%,而 ps
表示您的服务已将其总生命周期的 99.9% 闲置。