日期:2014-05-16  浏览次数:20829 次

Linux系统的平均负载

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

查看Linux系统的平均负载

1.平均负载的概念

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

2.查看平均负载

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

  1. [root@localhost ~]# uptime  
  2.  11:31:11 up 11 days, 19:01,2 users,load average: 0.02, 0.01, 0.00 

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

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

  1. [root@localhost ~]# w 
命令显示结果如下所示:
  1. 11:33:00 up 11 days, 19:03,2 users,load average: 0.00, 0.00, 0.00  
  2. USER TTYFROMLOGIN@ IDLE JCPU PCPU WHAT  
  3. root pts/1113.57.224.3 09:032:11m0.04s0.04s -bash  
  4. root pts/2113.57.224.3 11:310.00s0.02s0.00s w 
另外,还有动态命令top,这个命令也可以反映系统负载情况,在下面的命令提示中,我们只关心加粗字体部分。
  1. [root@localhost ~]# top 
系统会动态地显示内容,结果如下所示:
  1. top - 15:01:25 up 12 days,3:46,2 users,load average: 1.76, 2.14, 2.20  
  2. Tasks: 116 total, 1 running, 115 sleeping, 0 stopped, 0 zombie  
  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: 8180164k total,7673268k used, 506896k free,74592k buffers  
  5. Swap:0k total,0k used,0k free,4613728k cached 
第一行内容正是系统目前的负载情况,再通过uptime查看一下。
  1. [root@ud50053 ~]# uptime 
结果如下所示:
  1. 15:02:50 up 12 days,3:48,2 users,load average: 1.75, 2.07, 2.17 

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

这里需要注意的是load average这个输出值,这三个值的大小一般不能大于系统逻辑CPU