Linux 高负载总结

先明确几个概念:
1、系统负载System load :系统CPU繁忙程度的度量,即还有多少个进程等待CPU的调度
2、平均负载load average :一段时间内的平均负载,这个一段时间一般取1分钟、5分钟、15分钟
查看命令如下:

命令1: top

top
查看上图可以看出
当前时间 09:28:12
系统已运行的时间 180 days, 22:43
当前在线用户 1 user
1分钟的平均负载是 0,5分钟平均负载是0.01, 15分钟的平均负载是0.05

命令2: uptime

uptime

命令3: cat /proc/loadavg

cat /proc/loadavg
除了前3个数字表示平均负载外,后面的1个分数,分母表示系统进程总数,分子表示正在运行的进程数;最后一个数字表示最近运行的进程ID

命令4: w

用来查看登录者的信息及他们的行为
w
Load则表示系统的繁忙程度
单核
Load<1:没有等待
Load==1:系统已无额外的资源跑更多的进程了
Load>1:进程都堵着等待资源
  注:
    需要警惕的
      Load < 0.7时:系统很闲,要考虑多部署一些服务
      0.7 < Load < 1时:系统状态不错
      Load == 1时:系统马上要处理不多来了,赶紧找一下原因
      Load > 5时:系统已经非常繁忙了
  不同Load值说明的问题     
    1)1分钟Load>5,5分钟Load<1,15分钟Load<1
       短期内繁忙,中长期空闲,初步判断是一个抖动或者是拥塞前兆
    2)1分钟Load>5,5分钟Load>1,15分钟Load<1
      短期内繁忙,中期内紧张,很可能是一个拥塞的开始
    3)1分钟Load>5,5分钟Load>5,15分钟Load>5
      短中长期都繁忙,系统正在拥塞
    4)1分钟Load<1,5分钟Load>1,15分钟Load>5
      短期内空闲,中长期繁忙,不用紧张,系统拥塞正在好转

查看cpu核心的命令
grep ‘model name’ /proc/cpuinfo | wc -l
grep

1就是说明是1核心
CPU是1核,load<1是不会有问题的.

第一步 收到报警,说负载已经到了32.
这个时候马上到相关的服务器上查看,使用的是TOP命令
top
结果如下:

发现是python相关的应用在大量吃CPU
这个时候再使用
ps -ef | grep ‘python’
ps
然后找到相应的pid,就能定位到是哪个程序造成的问题了。后面的事情就是对程序内部的问题进行分析了
也可以直接用
ps -ef | grep '9966’来查找到相应的程序
ps

负载高的原因可能为:

CPU存在瓶颈
内存存在瓶颈
磁盘IO存在瓶颈

  1. 怀疑CPU存在瓶颈
    使用sar -u命令查看;

  2. 怀疑内存存在瓶颈
    使用sar -r命令查看;

  3. 怀疑磁盘IO存在瓶颈
    使用sar -b命令查看;

ps命令将某个进程显
示出来
grep命令是查找

命令参数:

a 显示所有进程

-a 显示同一终端下的所有程序

-A 显示所有进程

c 显示进程的真实名称

-N 反向选择

-e 等于“-A”

e 显示环境变量

f 显示程序间的关系

-H 显示树状结构

r 显示当前终端的进程

T 显示当前终端的所有程序

u 指定用户的所有进程

-au 显示较详细的资讯

-aux 显示所有包含其他使用者的行程

-C<命令> 列出指定命令的状况

–lines<行数> 每页显示的行数

–width<字符数> 每页显示的字符数

–help 显示帮助信息

–version 显示版本显示

原文链接: https://wcp88888888.iteye.com/blog/2432779

猜你喜欢

转载自blog.csdn.net/bushiyao_/article/details/85243199