云网牛站
所在位置:首页 > Linux教程 > Linux压力测试工具Stress的使用指南

Linux压力测试工具Stress的使用指南

2018-07-11 16:09:33作者:linux人稿源:运维之美

为了测试Linux服务器的负载情况,这里给大家推荐一款压力测试工具:Stress,Stress是一款Posix系统下生成Cpu/Menory/IO/Disk负载的工具。

 

Stress安装

在CentOS下可以运行$ yum install stress安装,先启用第三方源,运行$ yum install epel-release。

 

Stress参数说明

1.Stress使用语法(英文)

Usage: stress [OPTION [ARG]] ...

-?, --help         show this help statement

--version      show version statement

 -v, --verbose      be verbose

 -q, --quiet        be quiet

 -n, --dry-run      show what would have been done

 -t, --timeout N    timeout after N seconds

--backoff N    wait factor of N microseconds before work starts

 -c, --cpu N        spawn N workers spinning on sqrt()

 -i, --io N         spawn N workers spinning on sync()

 -m, --vm N         spawn N workers spinning on malloc()/free()

--vm-bytes B   malloc B bytes per vm worker (default is 256MB)

--vm-stride B  touch a byte every B bytes (default is 4096)

--vm-hang N    sleep N secs before free (default is none, 0 is inf)

--vm-keep      redirty memory instead of freeing and reallocating

 -d, --hdd N        spawn N workers spinning on write()/unlink()

--hdd-bytes B  write B bytes per hdd worker (default is 1GB)

--hdd-noclean  do not unlink files created by hdd workers

Example: stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s

2.Stress参数说明(中文翻译)

-? 显示帮助信息

-v 显示版本号

-q 不显示运行信息

-n,--dry-run 显示已经完成的指令执行情况

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

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

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

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

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

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

--vm-hang N 指示每个消耗内存的进程在分配到内存后转入休眠状态,与正常的无限分配和释放内存的处理相反,这有利于模拟只有少量内存的机器

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

--hadd-bytes B 指定写的字节数,默认是1GB

--hadd-noclean 不要将写入随机ASCII数据的文件Unlink

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

 

Stress使用实例

1.产生13个cpu进程4个io进程1分钟后停止运行

$ stress -c 13 -i 4 --verbose --timeout 1m

2.产生3个cpu进程、3个io进程、2个10M的malloc()/free()进程,并且vm进程中malloc的字节不释放

$ stress --cpu 3 --io 3 --vm 2 --vm-bytes 10000000 --vm-keep --verbose

3.测试硬盘,通过mkstemp()生成800K大小的文件写入硬盘,对CPU、内存的使用要求很低

$ stress -d 1 --hdd-noclean --hdd-bytes 800k

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

$ stress -c 13

5.产生1024个进程,仅显示出错信息

$ stress --quiet --cpu 1k

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

$ stress -i 4

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

# 生成小文件

$ stress -d 1 --hdd-noclean --hdd-bytes 13

# 生成大文件

$ stress -d 1 --hdd-noclean --hdd-bytes 3G

 

相关主题

使用Stress Terminal UI在Linux终端中轻松监控CPU利用率

精选文章
热门文章