当我运行 TOP 命令时,进程显示 1208% 的 cpu 使用率,在 IRIX 模式打开的情况下,总 CPU 使用时间为 81.7%。当我更改为关闭 IRIX 模式时,该进程显示 cpu 使用率为 99%,总用户 cpu 时间为 43%。
有什么想法可能会发生什么吗?
更新 虚拟机配置是否错误,导致 CPU 使用情况无法正确报告?
答案1
埃里克斯/索拉里斯模式(man 1 top
):
<I> :Irix/Solaris_Mode_toggle
When operating in 'Solaris mode' ('I' toggled Off), a
task's cpu usage will be divided by the total number of
CPUs. After issuing this command, you'll be informed of
the new state of this toggle.
...
if 'Irix mode' is Off, top will operate in
'Solaris mode' where a task's cpu usage will be divided by the
total number of CPUs. You toggle 'Irix/Solaris' modes with the
'I' interactive command
假设N
是 CPU 总数。那么InIrix
模式下,%CPU
就是CPU使用率out了N * 100%
。在Solaris
模式中,%CPU
是%CPU in Irix mode
/ N
。
看:Comprehending 'top' CPU usage
编辑:
总数用户CPU 时间为 43%
我认为你忽略了%系统(在系统(内核)级别执行的 CPU 利用率百分比。)时间。尝试其他工具,例如mpstat
、iostat
和sar
来分析 CPU 利用率。