Stress
stress 是压力测试工具,是Posix系统下生成CPU/Menory/IO/Disk负载的工具,这里我们用作异常进程模拟平均负载升高的场景
Stress 安装
[root@localhost ~]# yum install -y epel-release
[root@localhost ~]# yum install stress -y
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 使用教程
-
多CPU
#增加13个cpu进程,每个进程都反复不停的计算处理sqrt()函数函数,以提高系统CPU负荷 stress -c 13
-
多io操作
stress --io 5 stress -i 5
-
产生多个CPU与多个io进程并且定时1分钟停止
stress -c 4 -i 4 --timeout 1m stress: info: [19613] dispatching hogs: 4 cpu, 4 io, 0 vm, 0 hdd stress: info: [19613] successful run completed in 60s stress -c 13 -i 4 --verbose --timeout 1m #产生13个cpu进程4个io进程1分钟后停止运行
-
输出文件到本地
扫描二维码关注公众号,回复: 11377054 查看本文章stress -d 1 --hdd-bytes 1G
当然stress并不止这些内容,但有一点注意stress无法模拟更复杂的场景,并且stress的压力CPU是在用户态,内核态并没有产生压力。如果需要更复杂的压力测试我们还可以使用stress-ng。