Linux系统stress压力测试工具( 二 )


(2)通过mpstat观察到内核态CPU使用率很低,但iowait很高,一直在等待IO处理,说明进程是IO密集型 。进程频繁进行IO操作,导致系统平均负载很高而CPU使用率不高 。
3、等待CPU进程
本机4个逻辑CPU,模拟8个进程 。
stress -c 8 --timeout 600模拟8个CPU密集型进程
uptime查看系统平均负载,如下:

Linux系统stress压力测试工具

文章插图
 
mpstat -P ALL 5查看CPU使用率情况,如下:
Linux系统stress压力测试工具

文章插图
 
pidstat -u 5查看进程的CPU使用情况,如下:
Linux系统stress压力测试工具

文章插图
 
(1)通过uptime观察到系统平均负载很高
(2)通过mpstat观察到用户态CPU使用率很高,iowait为0,说明进程是CPU密集型或者进程间存在CPU争用 。
(3)通过pidstat观察到wait指标很高,说明进程间存在CPU争用,系统中存在大量进程在等待使用CPU 。
四、stress-ng简介
1、stress-ng简介
stress-ng完全兼容stress, 并且在stress基础上增加数百个选项参数,支持产生各种复杂的压力 。
2、stress-ng安装
stress-ng源码下载:
https://kernel.ubuntu.com/~cking/tarballs/stress-ng/
编译:
make安装:
sudo make install3、stress-ng命令
stress-ng [OPTION [ARG]] stress-ng --cpu 2 --cpu-method pi产生2个worker做圆周率算法压力
stress-ng --cpu 2 --cpu-method all产生2个worker迭代使用30多种不同的压力算法,包括pi, crc16, fft等
stress-ng --sock 2产生2个worker调用socket相关函数产生压力
stress-ng --tsc 2产生2个worker读取tsc产生压力
stress-ng --sock 4 --taskset 0-1,3strss-ng将压力指定到指定CPU上

【Linux系统stress压力测试工具】


推荐阅读