欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


Linux系统中wget的使用方法解析
Linux中使用wget进行下载的方法
Linux系统中一些内核管理命令总结
Linux中的useradd命令使用详解
win10笔记本怎么连接wifi
Win10 Edge浏览器默认安装位置在哪里?
在Linux系统下使用SSH实现端口映射的方法
服务器网站被攻击了怎么办
为Linux系统的VPS服务器开启SSH密钥登录的方法
Win10飞行模式是什么?
通过Linux命令查看系统平均负载的方法
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

   这篇文章主要介绍了通过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都支持多核心,毕竟整个网站中 还有些性能比较弱的服务器是用来做备份的。

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站