怎么通过Linux命令查看系统平均负载

这篇文章主要讲解了“怎么通过Linux命令查看系统平均负载”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么通过Linux命令查看系统平均负载”吧!

10多年的贵溪网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整贵溪建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“贵溪网站设计”,“贵溪网站推广”以来,每个客户项目都认真落实执行。

1、Linux系统的平均负载的概念

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

2、查看平均负载

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

   

代码如下:

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

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

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

   

代码如下:

[root@localhost ~]# w
   11:33:00 up 11 days, 19:03, 2 users, load average: 0.00, 0.00, 0.00
   USER TTY FROM LOGIN@  IDLE  JCPU  PCPU WHAT
   root pts/1113.57.224.3 09:032:11m 0.04s 0.04s -bash
   root pts/2113.57.224.3 11:310.00s 0.02s 0.00s w

另外,还有动态命令top,这个命令也可以反映系统负载情况。在下面的命令提示中,我们只关心加粗字体部分。

  

代码如下:

[root@localhost ~]# top
   top - 11:37:47 up 11 days, 19:08, 2 users, load average: 0.00, 0.00, 0.00
   Tasks: 122 total,  1 running, 121 sleeping,  0 stopped,  0 zombie
   Cpu(s): 0.1%us, 0.0%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
   Mem:  4044136k total, 1435504k used, 2608632k free,  274740k buffers
   Swap: 8193140k total,0k used, 8193140k free,  941884k cached

上面加粗字体显示的内容是什么意思呢?再通过uptime查看一下。

   

代码如下:

[root@localhost ~]# uptime
   11:39:36 up 11 days, 19:16, 1 user, load average: 0.09, 0.03, 0.01

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

那么,如何衡量当前系统是否负载过高呢?可以从以下几点来考虑。

如果每个CPU(可以按CPU核心的数量计算)当前的活动进程数不大于3,则系统性能良好。

如果每个CPU当前的活动进程数不大于4,表示可以接受。

如果每个CPU当前的活动进程数大于5,则系统性能问题严重。

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

如果r经常大于3或4,且id经常少于50,则表示CPU的负荷很重。

在上面例子中,我的服务器是PowerEdge 2850,CPU是双核双线程的,则0.09/2=0.045(即负载值/真实CPU个数),此系统的CPU负载基本可以忽略了。事实上,现在主流服务器 的CPU都很强悍,如果不是应用虚拟化等特殊场景,基本上负载都很小。

按照前面的计算公式,我所配置Nagios报警的CPU负载阈值 为CPU核心的数量(即CPU的物理个数×核数)。还是以我的服务器PowerEdge 2850为例,其CPU核心的数量为2×2=4,则设置报警值为4。这样设置是合理的,因为毕竟不是每个应用服务器的CPU都支持多核心,毕竟整个网站中 还有些性能比较弱的服务器是用来做备份的。

感谢各位的阅读,以上就是“怎么通过Linux命令查看系统平均负载”的内容了,经过本文的学习后,相信大家对怎么通过Linux命令查看系统平均负载这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


名称栏目:怎么通过Linux命令查看系统平均负载
分享网址:http://pwwzsj.com/article/pddosj.html