CPU使用率是什么意思?

9

当一个核心的CPU使用率为100%时,这意味着什么?

这是否意味着该进程已经达到了核心的最大性能(带有向量化),还是意味着CPU正在执行与核心周期数相同的循环?

此外,如果它达到了100%,我可以暗示该进程是CPU绑定的吗?即更快和更大的缓存、内存、总线等不会有任何区别吗?

1个回答

9
CPU使用率通常指:CPU有多少时间在进行工作。90%的CPU使用率意味着CPU有90%的忙碌时间和10%的空闲时间。当CPU处于空闲状态时,它什么也不做,只等待中断。
在这个视图中,CPU始终包括缓存和内存。更大的缓存和更快的内存总是会使CPU在这个意义上更快地工作。
100%的CPU使用率意味着进程总体上受到CPU限制。如果CPU更快,它们将运行得更快。
低于100%的CPU使用率意味着进程总体上受到I/O限制。如果CPU更快,它们也不会运行得更快。

那么,我想如果我查看CPU使用率与时间的平滑跟踪,那实际上是一个分段跟踪,其中每个分段内计算出百分比。这正确吗? - Alexander Soare
1
@AlexanderSoare:是的,没错。CPU使用率以百分比或时间为单位始终是某个时间间隔内的平均值。在任何一个特定的时间点,CPU中的核心要么正在运行(100%),要么处于空闲状态(0%),这不是您想知道的内容。您想知道CPU平均休眠多少时间片。而今天它甚至比以前更加复杂,因为100%可以指系统中所有核心的绝对最大性能。因此,在4核系统上,CPU使用率为25%可能意味着有一个CPU绑定的单线程进程正在运行。 - Johannes Overmann

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接