一.简介
使用stress-ng是一个 Linux 系统压力测试工具,模拟进程平均负载升高的场景。
使用sysstat来检查监控和分析。
mpstat 是一个常用的多核 CPU 性能分析工具,用来实时查看每个 CPU 的性能指标,以及所有CPU的平均指标。
pidstat 是一个常用的进程性能分析工具,用来实时查看进程的 CPU、内存、I/O 以及上下文切换等性能指标。
安装epel和软件包rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
yum -y install stress-ng sysstat
二.大量计算
开启一个终端,以下为模拟一个cpu跑满,并持续10分钟stress-ng --cpu 1 --timeout 600
再开启一个终端,查看平均负载
可以看到负载慢慢的往上升watch uptime
再开启一个终端,监控cpu。-P ALL 监控所有 CPU,每隔5秒输出一组数据
可以看到usr也就是用户空间使用率很高,iowait是0,说明没有进行磁盘读写,只是计算。mpstat -P ALL 5
查看是什么进程导致负载很高,等同于ps -aux
可以看到是strss进程。pidstat -u 5 1
三.大量IO
模拟IO压力,不同syncstress-ng -i 1 --hdd 1 --timeout 600
可以看到大量的iowait,也就是cpu在读写上花的使用率。mpstat -P ALL 5
也可以看到在磁盘读写上的速率。pidstat -d
四.大量进程
当系统中运行进程超出 CPU 运行能力时,就会出现等待 CPU 的进程。
模拟4个进程stress -c 4 --timeout 600
负载为4 uptime
查看进程情况,可以看到进程在争抢cpu,wait等待列很高pidstat -u 5 1