CPU负载未分布在核心上


2

在繁重的任务下,似乎cpu负载并未分散到所有可用的内核上,并且在我等待操作执行期间触发了风扇...看着CPU监视器,当另一个CPU处于空闲状态时,一个CPU占100%。

我有一个带有ubuntu 13.10的8核的i7,当我知道有8倍的可用功率时,不得不等待我。

我可以通过使用gedit打开一个大文件(70M)来重现该文件,但这在各种情况下都会发生。

我对此有何办法?

干杯!

Answers:


4

i7 actaully具有4个核心,但是每个核心具有两个超线程(这意味着它可以非常快速地在两个任务之间切换)。对于OS来说,它看起来像8个内核,因此此处的区别可能不相关。抱歉。:-)

好的,因此操作系统可以使用i7一次有效地完成8件事。但这假设它一次要做8件事。如果只有一件事情要做,那么它将只使用1个核心。

这是线程发挥作用的地方。可以编写使用线程的程序-GIMP和ImageMagick是我知道的两个程序。当他们要执行复杂的任务时,他们会分头工作并在不同的线程中执行该任务,操作系统将这些线程分配给不同的内核。尝试将ImageMagick设置为处理非常大的JPEG,然后您会看到所有8个内核都变得很忙。

现在,我不确定gedit是否是多线程的-但是即使是gedit,打开70M文件时的主要工作是在加载文件时处理磁盘中断,我认为工作仅限于一个内核。

你能为这个做什么?只要忙碌起来,执行多项任务,让您的计算机一次执行很多工作,那么负载就会分散到各个核心上。


我知道加载一个大文件无法并行化。问题是我发现这种情况经常在各种情况下发生。干杯。
pdelorme
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.