平均负载排查

2020-02-03  本文已影响0人  Daisy小朋友
1 压测工具

stress,可用作异常进程模拟平均负载升高场景
使用:

yum -y install stress
$ stress --cpu 1 --timeout 600   模拟一个CPU达到100%场景
$ stress -i 1 --timeout 600   模拟I/O压力,即不停的执行sync
$ stress -c 8 --timeout 600   模拟8个进程抢占资源场景
---------------
---------------
-c --cpu 产生n个进程 每个进程都反复不停的计算随机数的平方根
-i --io  产生n个进程 每个进程反复调用sync(),sync()用于将内存上的内容写到硬盘上
-t --timeout N 指定运行N秒后停止
  --backoff N 等待N微妙后开始运行
2 指标

当平均负载高于CPU数量70%时,需要排查。即单个cpu负载为1.70

3 工具

mpstat pidstat(需要安装yum -y install sysstat)
mpstat——常用的多核CPU性能分析工具,用来实时查看每个CPU性能指标,以及所有CPU的平均指标
pidstat是一个常用的进程性能分析工具,用来实时查看进程的CPU,内存I/O以及上下文切换等性能指标

4 命令

查看平均负载情况

# -d 参数表示高亮显示变化的区域
$ watch -d uptime   查看负载是否高
-----------------
-----------------
watch:  监测工具,监测一切命令的结果变化  -d 高粱显示变化区域,-n 间隔时间,缺省每2s运行一下程序
安装sysstat 包含了常用的 Linux 性能工具,用来监控和分析系统的性能,下面会用到mpstat和pidstat

mpstat查看cpu使用率变化情况

# -P ALL 表示监控所有CPU,后面数字5表示间隔5秒后输出一组数据
$ mpstat -P ALL 5
查看%usr和iowait是否高,判断场景
----------------
----------------
mpstatl: 查看cpu使用率变化 # -P ALL 表示监控所有 CPU,后面数字 5 表示间隔,再后面的数字1 代表count 次数

pidstat查看到底是那个进程导致cpu使用率为100%,杀掉相应进程即可

# 间隔5秒后输出一组数据
$ pidstat -u 5 1
------------------
------------------
pidstat: 监控全部或者指定进程占用系统资源的情况,查看那个进程导致cpu为100%
5 场景
6 小结

平均负载反应了整体的负载情况,但只看平均负载本身,并不能直接发现到底是哪里的瓶颈。

上一篇 下一篇

猜你喜欢

热点阅读