一、stress简介1、stress简介
stress是linux的一个压力测试工具,可以对CPU、Memory、IO、磁盘进行压力测试 。
2、stress安装
安装:
sudo yum install stress
二、stress使用
1、stress命令
stress [OPTION [ARG]]
-c, --cpu N:产生N个进程,每个进程都循环调用sqrt函数产生CPU压力 。-i, --io N:产生N个进程,每个进程循环调用sync将内存缓冲区内容写到磁盘上,产生IO压力 。通过系统调用sync刷新内存缓冲区数据到磁盘中,以确保同步 。如果缓冲区内数据较少,写到磁盘中的数据也较少,不会产生IO压力 。在SSD磁盘环境中尤为明显,很可能iowait总是0,却因为大量调用系统调用sync,导致系统CPU使用率sys 升高 。-m, --vm N:产生N个进程,每个进程循环调用malloc/free函数分配和释放内存 。--vm-bytes B:指定分配内存的大小 --vm-stride B:不断的给部分内存赋值,让COW(Copy On Write)发生 --vm-hang N :指示每个消耗内存的进程在分配到内存后转入睡眠状态N秒,然后释放内存,一直重复执行这个过程 --vm-keep:一直占用内存,区别于不断的释放和重新分配(默认是不断释放并重新分配内存)-d, --hdd N:产生N个不断执行write和unlink函数的进程(创建文件,写入内容,删除文件) --hdd-bytes B:指定文件大小
--hdd-noclean:不要将写入随机ASCII数据的文件Unlink-t, --timeout N:在N秒后结束程序 --backoff N:等待N微秒后开始运行-q, --quiet:程序在运行的过程中不输出信息-n, --dry-run:输出程序会做什么而并不实际执行相关的操作--version:显示版本号-v, --verbose:显示详细的信息
2、CPU测试
stress --cpu 2 --timeout 60
开启2个CPU进程执行sqrt计算,60秒后结束
文章插图
3、IO测试
stress --io 2 --timeout 60s
开启2个IO进程,执行sync系统调用,刷新内存缓冲区到磁盘文章插图
使用stress无法模拟iowait升高,但sys升高 。stress -i参数表示通过系统调用sync来模拟IO问题,但sync是刷新内存缓冲区数据到磁盘中,以确保同步 。如果内存缓冲区内没多少数据,读写到磁盘中的数据也就不多,没法产生IO压力 。使用SSD磁盘的环境中尤为明显,iowait一直为0,但因为大量系统调用,导致系统CPU使用率sys升高 。
stress --io 2 --hdd 2 --timeout 60s
开启2个IO进程,2个磁盘IO进程文章插图
4、Memory测试
stress --vm 2 --vm-bytes 1G --vm-hang 100 --timeout 100s
开启2个进程分配内存,每次分配1GB内存,保持100秒后释放,100秒后退出 。文章插图
5、磁盘IO测试
stress --hdd 2 --hdd-bytes 10G --backoff 2000000
开启2个磁盘IO进程,每次写10GB数据到磁盘文章插图
三、stress测试场景
1、CPU密集型进程
stress --cpu 2 --timeout 600
模拟启动2个CPU密集型进程uptime
查看系统平均负载,如下:文章插图
mpstat -P ALL 5 1
查看CPU使用情况,如下:文章插图
pidstat -u 5
查看进程负载情况,如下:文章插图
(1)通过uptime可以观察系统平均负载较高 。
(2)通过mpstat观察到CPU0和CPU2的用户态CPU使用率很高,而iowait为0,说明进程是CPU密集型 。进程使用CPU密集导致系统平均负载变高、CPU使用率变高 。
(3)可以通过pidstat查看是stress进程导致CPU使用率较高 。
2、IO密集型进程
stress -i 1 --hdd 1 --timeout 600
模拟1个worker调用sync刷新内存缓冲区write到磁盘 。uptime
查看系统平均负载,如下:
文章插图
mpstat -P ALL 5
查看CPU使用情况,如下:文章插图
(1)可以通过uptime观察到,系统平均负载很高 。
推荐阅读
- 系统文件丢失的修复方法
- 37传奇霸业的特色游戏系统是什么
- 4399神仙道的特色游戏系统有哪些
- 惠普笔记本如何进入安全模式w10?惠普笔记本windows10系统怎么安全模式
- 支付|Epic支付系统被挤崩现已修复 还发无间道桥段自嘲
- 怎么关闭win 10系统的防火墙,win10系统怎么彻底关闭防火墙-
- 华硕主板怎么直接进入系统-华硕主板怎么进入主板设置-
- 大数据智能营销系统怎么样?大数据智能营销系统营销推广_1
- 怎么装系统win11?Win11安装步骤
- 如何修改mac系统的个人用户名?mac怎么更改用户文件夹名