首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LINUX负载平均

LINUX负载平均
EN

Server Fault用户
提问于 2011-10-10 15:48:53
回答 3查看 590关注 0票数 0

我的服务器负载跃升到前22位,CPU只有50%,RAM 1858/5120。如何知道什么过程会产生如此高的平均负荷。

EN

回答 3

Server Fault用户

发布于 2011-10-10 15:53:49

代码语言:javascript
复制
$ grep processor /proc/cpuinfo |wc -l
4

这就给出了系统上CPU的数量。如果负载平均值高于此值,但CPU仅为50%,则很可能您的系统正在执行大量的IOs操作。在这种情况下:

代码语言:javascript
复制
aptitude install iotop

iotop将给出使用磁盘IOs的进程列表。

票数 5
EN

Server Fault用户

发布于 2011-10-10 17:20:20

僵尸进程也会影响平均负载,我可以建议:

代码语言:javascript
复制
mike@mike-:~$ ps -eo state |uniq -c
    171 S
      1 R
      1 D
      2 S

-->这里您可以计算每个状态的进程数

D(等待资源的进程被阻塞)

Z僵尸

->D状态的典型问题--使用NFS共享上的文件的进程不再回答.希望它能帮上忙

票数 2
EN

Server Fault用户

发布于 2015-05-14 06:15:23

您可以使用这三个命令中的一个。有关更多信息,请阅读maninfo页面。

正常运行时间-告诉系统运行了多长时间。W-显示谁登录和他们在做什么。顶部显示Linux进程

这三个命令都向您展示了load average信息。top可能是最好的选择,因为它显示有关CPU使用、内存使用、优先级等信息。

我引用了一个课程的参考资料:

负载平均是给定时间段内负载数的平均值。它考虑到下列程序:

  • 在CPU上运行。
  • 认为可以运行,但等待CPU可用。
  • 睡眠:即等待某种资源(通常是I/O)可用。

我还引用了关于平均负荷的解释:

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分钟的平均负荷中出现高峰值,可能会引起关注。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/320196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档