加载中...

Linux 压测命令stress详解


1.命令介绍
stress是一个linux系统压力测试工具,顾名思义主要用来进行压力测试。


2.安装stress

yum -y install stress

3.参数详解

-? 显示帮助信息

-v 显示版本号

-q 不显示运行信息

-n 显示已完成的指令情况

-t --timeout N 指定运行N秒后停止

   --backoff N 等待N微妙后开始运行

-c 产生n个进程 每个进程都反复不停的计算随机数的平方根

-i 产生n个进程 每个进程反复调用sync()sync()用于将内存上的内容写到硬盘上

-m --vm n 产生n个进程,每个进程不断调用内存分配malloc和内存释放free函数

   --vm-bytes B 指定malloc时内存的字节数 (默认256MB)

   --vm-hang N 指定在free钱的秒数

-d --hadd n 产生n个执行write和unlink函数的进程

   -hadd-bytes B 指定写的字节数

   --hadd-noclean 不unlink

时间单位可以为秒s,分m,小时h,天d,年y,文件大小单位可以为K,M,G


4.命令示范

(1) 使用-c选项对cpu进行压测

stress -c 1 -t 100

使用mpstat和pidstat命令可以看到此时cpu使用率为100%
mpstat -P ALL 5


(2) 使用-i选项对io进行压测

注意sync()是将内存缓冲区中的数据立即写入磁盘中,对于新建的虚拟机缓冲区内本来就没多少数据,那写到磁盘中的数据也就不多,也就没法产生
I/O
压力。这样大部分就都是系统调用的消耗了,可以看到%iowait只有0.1%,而%system却有98%(%system:表示内核进程所使用cpu的百分比;%iowait表示等待IO所使用cpu的百分比)

stress -i 1 -t 600

对于这种情况我们要去测IO,可以使用-d选项。再次查看发现iowait 已经飙上来了

stress -d 1 --hdd-bytes 1024G


(3) 使用-m选项对内存进行压测

stress -m 1 --vm-bytes 1G --vm-hang 10


pidstat -C "stress"  -p ALL -r 2 1


文章作者: huhuhahei
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 huhuhahei !
评论
  目录