Linux压力测试工具--stress

环境说明

centos7操作系统
配置:4核10G

由于配置不同测试的效果也不同,建议执行进程数和cpu核数一致;其他参数根据服务器配置情况进行修改

功能说明

增加Linux系统CPU、内存、磁盘I/O资源占用,模拟高资源占用场景

安装/用法

$ yum install stress -y
$ stress --help
`stress' imposes certain types of compute stress on your system

Usage: stress [OPTION [ARG]] ...
 -?, --help         show this help statement
     --version      查看stress版本号
 -v, --verbose      显示 stress 程序运行过程中的详细信息
 -q, --quiet        stress 程序运行的过程中不输出信息。
 -n, --dry-run      输出程序会做什么而并不实际执行相关的操作
 -t, --timeout N    在 N 秒后结束程序。
     --backoff N    让新 fork 出来的进程 sleep N 微秒再开始运行。
 -c, --cpu N        产生 N 个进程,每个进程都反复不停的调用sqrt()函数计算随机数的平方根
 -i, --io N         产生 N 个进程,每个进程反复调用 sync() 将内存上的内容写到硬盘上
 -m, --vm N         产生 N 个进程,每个进程不断分配和释放内存
     --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  指定文件大小 (default is 1GB)

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

Note: Numbers may be suffixed with s,m,h,d,y (time) or B,K,M,G (size).

模拟cpu资源消耗

stress 消耗 CPU 资源的方式是通过调用 sqrt() 函数计算由 rand() 函数产生的随机数的平方根实现的。

$ stress -c 4 --timeout 60

-c:表示多少个进程执行
--timeout:表示执行多久秒退出

可以使用 top 命令查看cpu状态如下,cpu在用户态满负荷运行 (top命令下按 1 可以查看每个cpu单独的情况)

模拟内存资源消耗

模拟4个进程,每个进程分配1000M内存(进程一直占用内存)

stress --vm 4 --vm-bytes 2000M --vm-keep

cpu主要消耗在用户态

模拟4个进程,每个进程分配1000M内存(每个消耗内存的进程在分配到内存后转入睡眠状态 3 秒,然后释放内存,一直重复执行这个过程)

stress --vm 4 --vm-bytes 2000M --vm-hang 3

cpu消耗主要在内核态

模拟io资源消耗

产生 4 个进程,每个进程都反复调用 sync 函数将内存上的内容写到硬盘上:

$ stress -i 4

使用top命令输出cpu情况如下,sy(system:代表内核态 CPU 时间)使用率升高

说明:因为新启动的系统所以内存没有多少数据并没有造成 wa(iowait:代表等待 I/O 的 CPU 时间)时间升高

压测磁盘及 IO

创建4个进程不断的在磁盘上创建 100M 大小的文件并写入内容:

$ stress -d 4 --hdd-bytes 100M

参考:https://www.cnblogs.com/vaon/p/13696260.html

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值