ubuntu多核cpu上的top命令显示cpu使用率> 100%


16

在此处输入图片说明

我的ubuntu运行在具有32核的多核CPU上。当我使用top命令检查cpu使用情况时,有时显示的结果超过100%,例如340%,650%等。我进行了一些调查,发现它实际上是跨不同内核使用的总和。例如,如果第一个CPU使用率是20%,第二个是30%,第三个是40%,其余的是0%,则“最高”显示20 + 30 + 40 = 90%。

它有点混乱和误导。我相信top命令应该通过计算所有内核的使用率来显示0到100之间的CPU使用率。在上面的示例中,我期望-(90 * 100)/ 3200 = 2.8125%。这是top命令的错误吗?是否应将其视为将来版本的增强功能?请指教


这不是错误,这是标准top行为,可能无法更改。但是,没有什么可以阻止您使用具有不同报告约定的另一个命令:)
0xF2 2015年

1
出于好奇,这是什么CPU?那些新型ARM64系统之一?
2015年

CPU1&CPU2-Intel(R)Xeon(R)CPU E5-2670 @ 2.60 GHz(8核)
Poonam Srivatava

Answers:


22

默认情况下,将topCPU使用率显示为单个CPU的百分比。在多核系统上,您可以看到CPU使用率的百分比大于100%。您可以通过在top运行时单击Shift+ 来切换此行为,i以显示正在使用的可用CPU的总体百分比。

htop是的更好选择top。在中htop,您可以看到您的程序如何使用所有32个内核。


您好-感谢您的见解。我是从事多核系统开发的新手,所以我想知道为什么在这种情况下会使用所有核。当我不执行并行操作时,有时会有类似的行为。看来这取决于我的操作大小和所需的内存(我正在使用R)。当发生这种情况时,一切似乎都变慢了。
马克在

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.