1. 首页
  2. 系统运维
  3. Linux

Linux系统压力测试软件stress使用

linux下测试cpu、内存、io负载的时候可以用stress,比如想cpu一直100%的运行等。
安装
以centos 6为例

  1. yum install stress

如果没有包运行如下命令

  1. yum install epel-release

或者

  1. wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
  2. rpm -Uvh epel-release*rpm

参数

  1. -? 显示帮助信息
  2. -v 显示版本号
  3. -q 不显示运行信息
  4. -n,–dry-run 显示已经完成的指令执行情况
  5. -t –timeout N 指定运行N秒后停止
  6.    –backoff N 等待N微妙后开始运行
  7. -c –cpu 产生n个进程 每个进程都反复不停的计算随机数的平方根
  8. -i –io  产生n个进程 每个进程反复调用sync(),sync()用于将内存上的内容写到硬盘上
  9. -m –vm n 产生n个进程,每个进程不断调用内存分配malloc和内存释放free函数
  10.    –vm-bytes B 指定malloc时内存的字节数 (默认256MB)
  11.    –vm-hang N 指示每个消耗内存的进程在分配到内存后转入休眠状态,与正常的无限分配和释放内存的处理相反,这有利于模拟只有少量内存的机器
  12. -d –hadd n 产生n个执行write和unlink函数的进程
  13.    –hadd-bytes B 指定写的字节数,默认是1GB
  14.    –hadd-noclean 不要将写入随机ASCII数据的文件Unlink
  15. 时间单位可以为秒s,分m,小时h,天d,年y,文件大小单位可以为K,M,G

举例
产生13个cpu进程4个io进程1分钟后停止运行
$ stress -c 13 -i 4 –verbose –timeout 1m

产生3个cpu进程、3个io进程、2个10M的malloc()/free()进程,并且vm进程中malloc的字节不释放
$ stress –cpu 3 –io 3 –vm 2 –vm-bytes 10000000 –vm-keep –verbose

测试硬盘,通过mkstemp()生成800K大小的文件写入硬盘,对CPU、内存的使用要求很低
$ stress -d 1 –hdd-noclean –hdd-bytes 800k

产生13个进程,每个进程都反复不停的计算由rand ()产生随机数的平方根
$ stress -c 13

产生1024个进程,仅显示出错信息
$ stress –quiet –cpu 1k

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

向磁盘中写入固定大小的文件,这个文件通过调用mkstemp()产生并保存在当前目录下,默认是文件产生后就被执行unlink(清除)操作,但是可以使用–hdd-bytes选项将产生的文件全部保存在当前目录下,这会将你的磁盘空间逐步耗尽

# 生成小文件
$ stress -d 1 –hdd-noclean –hdd-bytes 13

# 生成大文件
$ stress -d 1 –hdd-noclean –hdd-bytes 3G

联系我们

0574-55011290

QQ:248687950

邮件:admin@nbhao.org

工作时间:周一至周五,9:00-18:00,节假日休息

QR code