linux load实际意味着什么?

时间:2013-12-26 07:22:43

标签: linux multithreading system

linux加载包含当前正在运行的线程还是只包含等待运行的线程数?

以下是Darren Hoch的 Linux系统和性能监控的片段: “系统负载是当前正在执行的进程线程数量与CPU运行队列中的线程数量的组合。”我觉得这是对的。

但最近,我看到很多人说“负载只是等待在运行队列上安排的线程号”

那么,哪种解释更准确?

当我试图弄清楚上述困惑时,我遇到了一个新的:

我找到了一条规则:“'现在修复此''经验法则:1.00。如果您的平均负载保持在1.00以上,请找出问题并立即修复。”来自article

在阅读本文之前,我认为当负载平均值低于4 * cpu核心时,它仍然是安全的。我错了吗?

1 个答案:

答案 0 :(得分:3)

第一个定义不准确:当前运行(执行)线程不会在大多数系统上添加负载。

第二个定义也不太准确,因为它会省略因为等待I / O而无法运行的进程。

以下是来自Debian系统的upime(1)手册页的有用说明:

  

系统负载平均值是平均进程数   要么处于可运行状态,要么处于不间断状态。一个过程   runnable state是使用CPU还是等待使用CPU。   处于不间断状态的进程正在等待某些I / O.   访问,例如等待磁盘。

有关更详细的介绍,请参阅维基百科上的article