什么会导致平均负载10-30(而不是10-30%)

可能重复:
如何理解linux服务器的内存使用量和平均负载

我不确定这是否会更好一些,名为“为什么Nagios需要监控负载达到30”。

情况:我正在为我们的networkingbuild立Nagios,并已经在* nix盒子上build立了NRPE。 我已经(在纸上)大致了解我想要设置通知的位置。 举个例子,看起来像这样:1分钟:警告90%,暴击100%5分钟:警告80%,暴击90%15分钟:警告60%,暴击70%

服务器运行两个虚拟CPU,所以我打算使用-r参数来获得每个CPU的结果(是的,我知道这不是真的每个CPU,这是所有的负载除以他们的数量,我是好吧)。

所以当我看到NRPEconfiguration文件中的默认设置时,我已经准备好设置它了:

command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20 

这让我失望。 我开始怀疑我是否真的了解加载平均值。 我发现-r参数没有被使用,所以加载平均值大于1是正常的,但是这是否表示30-cpu系统的默认值? 我看到这个问题的答案build议使用[CPU的数量]×10关键的5分钟通知(一分钟可能?),这进一步支持使用价值远高于我的计划。 我的意思是,没有看到那里的违约,我会走了

 command[check_load]=/usr/lib/nagios/plugins/check_load -r -w 0.9,0.8,0.6 -c 1.0,0.9,0.7 

但现在我怀疑。 我知道,互联网上没有人能够告诉我正确的价值观来用于我们的情况,我不指望任何人,如果有人能够告诉我,我是否严重误解负载,需要开始我的侦探,我会非常感激再次工作有用的价值。 值得一提的是,在服务器上,过去的6个月里,我一度偶尔碰到过这样的问题。 平均每个CPU(.8)和.55每CPU(1.1)之间,平均为1分钟。

原始负载平均数字只是数字,不是绝对的百分比。 负载平均值和CPU利用率(通常以百分比表示)并不是一回事。 你应该监视两者。

平均负载(至less在Linux上)的近似描述是“可以运行的进程的数量”,它非常依赖于你的系统所做的事情。 经验法则是每个CPU有1个负载单位是“繁忙的”,这说明了check_load -r参数。 高I ​​/ O和短暂的进程可以真的搞砸了。 你可以在别处find更好的描述。

为了回答你的问题:30个进程或线程可能导致30个负载都可以运行你的CPU,没有睡眠/民意测验。

做好上class的工作,感觉自己的负担很重要,那些是你应该从头开始的数字,并随着时间的推移调整,以尽量减less虚假警报,但我会build议加倍你的关键门槛。

恕我直言,nrpe.cfg示例值对于典型的服务器工作负载来说太高。 我的猜测是,他们足够高,不会造成“NRPE告诉我我的平均负荷过高”的问题。 奇怪的是, check_load本身具有默认值0,0,0和0,0,0。