Linux系统的平均负载

有时候我们会觉得系统响应很慢,但是又找不到原因,这时就要查平均负载了,看它是否有大量的进程在排队等待。

查看Linux系统的平均负载

1.平均负载的概念

有时候我们会觉得系统响应很慢,但是又找不到原因,这时就要查平均负载了,看它是否有大量的进程在排队等待。特定的时间间隔内运行队列中的平均进程数可以反映系统的繁忙程度,所以我们通常会在自己的网站或系统变慢时第一时间查系统的负载,即CPU的平均负载。

2.查看平均负载

究竟应该如何查看平均负载呢?最简单的命令是uptime,如下所示:

 
   
  1. [root@localhost~]#uptime
  2. 11:31:11up11days,19:01,2users,loadaverage:0.02,0.01,0.00

目前的主流服务器都是双4核,有相当强悍的CPU,做一般的应用服务的话,Linux系统的负载这块倒不用我们担心。

还可以用w命令来查看,顺便可以查看一下系统当前有哪些用户,他们占用了哪些终端,如下所示:

 
   
  1. [root@localhost~]#w
命令显示结果如下所示:
 
   
  1. 11:33:00up11days,19:03,2users,loadaverage:0.00,0.00,0.00
  2. USERTTYFROMLOGIN@IDLEJCPUPCPUWHAT
  3. rootpts/1113.57.224.309:032:11m0.04s0.04s-bash
  4. rootpts/2113.57.224.311:310.00s0.02s0.00sw
另外,还有动态命令top,这个命令也可以反映系统负载情况,在下面的命令提示中,我们只关心加粗字体部分。
 
   
  1. [root@localhost~]#top
系统会动态地显示内容,结果如下所示:
 
   
  1. top-15:01:25up12days,3:46,2users,loadaverage:1.76,2.14,2.20
  2. Tasks:116total,1running,115sleeping,0stopped,0zombie
  3. Cpu(s):47.5%us,14.6%sy,0.0%ni,37.6%id,0.3%wa,0.1%hi,0.0%si
  4. Mem:8180164ktotal,7673268kused,506896kfree,74592kbuffers
  5. Swap:0ktotal,0kused,0kfree,4613728kcached
第一行内容正是系统目前的负载情况,再通过uptime查看一下。
 
   
  1. [root@ud50053~]#uptime
结果如下所示:
 
   
  1. 15:02:50up12days,3:48,2users,loadaverage:1.75,2.07,2.17

原来它所表示的是过去的1分钟、5分钟和15分钟内进程队列中的平均进程数量。

这里需要注意的是load average这个输出值,这三个值的大小一般不能大于系统逻辑CPU的个数,例如,本输出中系统有4个逻辑CPU,如果load average的三个值长期大于4时,说明CPU很繁忙,负载很高,可能会影响系统性能,但是偶尔大于4时,倒不用担心,一般不会影响系统性能。相反,如果load average的输出值小于CPU的个数,则表示CPU还有空闲,比如本例中的输出,CPU是比较空闲的。

这时候可以结合vmstat命令来判断我们的系统是否过于繁忙,如果确定很繁忙的话,就要考虑是否更换服务器或增加CPU的个数了。总结如下:

如果r经常大于系统的逻辑CPU个数,且id经常少于50,则表示CPU的负荷很重。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值