服务器似乎空闲的时候,真正的高负载读数

我想知道你们是否遇到过这样的问题,尽pipe没有一个参数似乎表明它很忙,但是报告的服务器负载确实很高。 我需要再次检查,但我认为这只是在我开始乘客后才会发生。 我在一个专用的虚拟主机上。

为什么发生这种情况的任何提示或想法如何debugging这个负载值? 这里是我的顶级阅读,如果需要,我可以提供其他信息。

top - 13:34:38 up 122 days, 19:15, 1 user, load average: 2.44, 2.02, 1.85 Tasks: 51 total, 4 running, 47 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.7%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1048576k total, 797196k used, 251380k free, 0k buffers Swap: 0k total, 0k used, 0k free, 0k cached 

当你看到高负载,但CPU使用率低,这表明其他的东西是瓶颈。 (正如Janne所说,平均2的负载并不是特别高,但深入理解系统的function并不是一个坏主意。)

磁盘访问是高CPU负载平均值较高的最常见原因。 您可以通过vmstatiostatdstat查看有关磁盘使用情况的一些统计信息,具体取决于您安装的内容。

为了比较,我的一个相当繁忙的Web服务器正在显示vmstat中的bi列(块读入),每30秒100个bo列(写出的块)为每30秒3000个。 该服务器上的平均负载约为1。

另一个可能的原因是大量的工作做得很less。 我看到的大多数服务器有100到200个进程。 如果您的服务器有500或1000,那可能导致高负载平均值。

再次,为了比较,我们最近在我们的邮件队列中有大量的电子邮件,导致大约1000个进程被产生以发送电子邮件。 导致平均负载增加到70左右,使系统难以使用。

感谢您的意见,因为事实certificate正确的答案(和我的问题中的关键)原来是我正在使用虚拟专用服务器。 服务器有0.6个处理器单元(2Ghz Xeon中的1.2Ghz)。 这造成了我的顶级和服务器健康监测软件怪异的读数(新的文物rpm在CPU使用图中被称为“被盗”)。 我现在更新到一个完整的核心VPS和负载下降到适当的值〜0.07。

2的负载平均值确实不高,实际上很低。

你在某处看到实际的性能问题吗?

当一个或两个进程进入“D”状态时,我通常会看到这个。 这意味着他们正在等待I / O。 这可能是一个NFS超时或类似的共享。 如果他们是在这个存储设备上等待的唯一两个进程,那么你在IOWAIT状态下的%CPU将不会太多。

要清楚的是,取决于系统有多less个CPU线程,2.44的平均负载可以高或低。 如果您拥有带超线程的双核Xeon,则有4个CPU线程。 平均负载达到4.0将意味着系统处于满负荷或满负荷状态。 在这样的系统上平均超过4.0的负载意味着在运行队列中有更多的进程比CPU线程多。