查看Linux系统的平均负载

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都支持多核心,毕竟整个网站中还有些性能比较弱的服务器是用来做备份的。

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-08-26 02:05:33

查看Linux系统的平均负载的相关文章

入门:查看Linux系统的平均负载

1.平均负载的概念 有时候我们会觉得系统响应很慢,但是又找不到原因,这时就要查平均负载了,看它是否有大量的进程在排队等待.特定的时间间隔内运行队列中的平均进程数可以反映系统的繁忙程度,所以我们通常会在自己的网站或系统变慢时第一时间查系统的负载,即CPU的平均负载. 20+ Excellent HD Wallpapers for Tech Enthusiasts 2.查看平均负载 究竟应该如何查看平均负载呢?最简单的命令是uptime,如下所示: [root@localhost ~]# uptim

Linux系统的平均负载

有时候我们会觉得系统响应很慢,但是又找不到原因,这时就要查平均负载了,看它是否有大量的进程在排队等待. 查看Linux系统的平均负载 1.平均负载的概念 有时候我们会觉得系统响应很慢,但是又找不到原因,这时就要查平均负载了,看它是否有大量的进程在排队等待.特定的时间间隔内运行队列中的平均进程数可以反映系统的繁忙程度,所以我们通常会在自己的网站或系统变慢时第一时间查系统的负载,即CPU的平均负载. 2.查看平均负载 究竟应该如何查看平均负载呢?最简单的命令是uptime,如下所示: [root@l

解析Linux系统的平均负载概念

  一.什么是系统平均负载(Load average)? 在Linux系统中,uptime.w.top等命令都会有系统平均负载load average的输出,那么什么是系统平均负载呢? 系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树.如果一个进程满足以下条件则其就会位于运行队列中: - 它没有在等待I/O操作的结果 - 它没有主动进入等待状态(也就是没有调用'wait') - 没有被停止(例如:等待终止) 例如: 代码如下: [root@opendigest root]# uptim

查看Linux系统版本信息的方法小结

  如何查看Linux系统使用的版本信息呢? 下面这篇文章收集.整理了一些常见的查看Linux系统版本的方法.由于手头只有Oracle Linux.Centos Linux.Redhat Linux三个版本Linux,所以像Debian.Ubuntu之类的Linux系统,下面方法在这些版本都没测试过. 1:more /etc/issue 命令查看 1.1 Oracle Linux 代码如下: [root@DB-Server ~]# more /etc/issueOracle Linux Serv

如何查看Linux系统中分区的卷标信息?

如何查看Linux系统中分区的卷标信息? 我们可以通过e2label命令来实现: 用法: e2label device [新卷标] 示例: e2label /dev/hdxn where x=a,b,c,d....; n=1,2,3... [root@localhost ~]# e2label /dev/sda1本地磁盘

一次Linux系统1分钟负载5000+的故障排错

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1690817 昨天上午查看Zabbix监控界面时,发现其中一台服务器的进程数量和1分钟负载已经达到了一个非常惊人的数量,Zabbix默认报警数值是进程数量在5分钟平均值大于1000,1分钟系统负载5分钟平均值大于5. 先大体列一下服务器的软硬件信息: 服务器硬件:Dell PowerEdge R720, 2 x In

查看Linux系统的其他参数

1.用vmstat来监控Linux系统的整体性能 vmstat是一个相当全面的性能分析工具,可以用来观察系统的进程状态.内存使用情况.虚拟内存的使用情况.磁盘的I/O.中断.上下文切换.CPU的使用情况等性能信息.建议熟练掌握此命令.举例如下: [root@localhost -]# vmstat 1 4   procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------    r b  swpd

查看Linux系统CPU、内存信息和操作系统的版本信息

经常要查看Linux服务器的CPU,内存信息以及操作系统版本等信息,总结一下常用的命令,以便以后查阅 . 1.查看CPU型号(8个逻辑CPU) [[root@mail ~]# cat /proc/cpuinfo |grep "name" |cut -f2 -d: |uniq -c      8  Intel(R) Xeon(R) CPU           E5506  @ 2.13GHz 2.查看物理CPU个数(两个4核CPU) [root@mail ~]# cat /proc/cp

分享yahoo公司查看Linux系统硬件信息的脚本

首先,介绍一个网上流传的yahoo公司的曾经一个用于收集硬件信息的脚本,你可以在这里查看和下载hwconfig.下载地址:https://github.com/smilejay/shell/blob/master/sh2012/hwconfig.它在我的某系统上执行的情况如下:  代码如下 复制代码 [root@jay-linux test-programs]# ./hwconfig Summary:        QCI QSSC-S4R, 1 x 000 2.27GHz, 47.1GB /