进程 CPU 使用率与平均负载有何关系?

进程 CPU 使用率与平均负载有何关系?

我有以下主机/负载:

  • 两个 6 核 CPU,带 HT(据我所知,最大负载为24.0
  • 12 个“主要”进程,持续使用大约50%CPU
  • Load average: 0.86 0.98 0.98

有人能帮助我理解:

  • 当机器的平均负载似乎很低时,多个进程如何保持负载?考虑到 12 个核心占比为 50%,我预计负载至少会达到 6.0 - 12.0 之间。
  • 仅考虑 CPU 使用率,是否有任何低级细节阻止我在平均负载达到〜之前向该主机添加更多服务24?(为了这个问题,不关心磁盘 I/O、内存或其他任何东西——我只是想充分了解Load average在考虑 CPU 瓶颈时的可靠性;线程等待?总线争用?平均负载中未体现的有关 CPU 使用率的任何内容?)

答案1

负载不是当前在 CPU 上运行的进程数,而是等待 CPU 时间的进程数。因此,如果您有 8 个核心,那么 8 个线程可以各自使用一个完整的核心,而不会影响负载。(这种情况不太可能发生,因为线程要多得多。)

此外,负载的唯一上限是系统上可同时运行的进程数。我见过 100 甚至更多的值。

相关内容