我的服务器负载跃升到前22位,CPU只有50%,RAM 1858/5120。如何知道什么过程会产生如此高的平均负荷。
发布于 2011-10-10 15:53:49
$ grep processor /proc/cpuinfo |wc -l
4这就给出了系统上CPU的数量。如果负载平均值高于此值,但CPU仅为50%,则很可能您的系统正在执行大量的IOs操作。在这种情况下:
aptitude install iotopiotop将给出使用磁盘IOs的进程列表。
发布于 2011-10-10 17:20:20
僵尸进程也会影响平均负载,我可以建议:
mike@mike-:~$ ps -eo state |uniq -c
171 S
1 R
1 D
2 S-->这里您可以计算每个状态的进程数
D(等待资源的进程被阻塞)
Z僵尸
->D状态的典型问题--使用NFS共享上的文件的进程不再回答.希望它能帮上忙
发布于 2015-05-14 06:15:23
您可以使用这三个命令中的一个。有关更多信息,请阅读man或info页面。
正常运行时间-告诉系统运行了多长时间。W-显示谁登录和他们在做什么。顶部显示Linux进程
这三个命令都向您展示了load average信息。top可能是最好的选择,因为它显示有关CPU使用、内存使用、优先级等信息。
我引用了一个课程的参考资料:
负载平均是给定时间段内负载数的平均值。它考虑到下列程序:
我还引用了关于平均负荷的解释:
load使用三组不同的数字显示,如以下示例所示:最后一条信息是系统的平均负载。假设我们的系统是一个单CPU系统,0.25意味着在过去的一分钟内,这个系统平均被使用了25%。0.12在下一个位置,表示在过去5分钟内,系统平均使用率为12%;在最后位置为0.15,即在过去15分钟内,系统平均使用率为15%。如果我们看到第二个位置的值为1.00,这就意味着在过去5分钟内,单CPU系统平均利用率是100%;如果我们想要充分使用一个系统,这是很好的。单个CPU系统的值超过1.00意味着系统被过度利用:需要CPU的进程多于可用的CPU。如果我们有一个以上的CPU,比如说一个四CPU系统,我们将把平均负载数除以CPU的数量。例如,在这种情况下,1分钟平均负载为4.00意味着整个系统在最后一分钟使用了100% (4.00/4)。短期增长通常不是问题。你所看到的一个高峰很可能是一个活动的爆发,而不是一个新的水平。例如,在启动时,许多进程开始,然后活动稳定下来。如果在5分钟和15分钟的平均负荷中出现高峰值,可能会引起关注。
https://serverfault.com/questions/320196
复制相似问题