22、stress 系统负载压测
2021-07-19 本文已影响0人
一个反派人物
1 作用
主要用来进行系统的负载(cpu、内存、io)压力测试
2 安装
yum -y install stress
3 语法
stress [OPTION [ARG]] ...
-v, --verbose 显示详细信息
-q, --quiet 程序在运行的过程中不输出信息
-n, --dry-run 输出程序会做什么而并不实际执行相关的操作
-t, --timeout N 在 N 秒后结束程序
--backoff N 等待N微妙后开始运行
-c, --cpu N 产生 N 个进程,每个进程都反复调用sqrt() 不停的计算随机数的平方根
-i, --io N 产生 N 个进程,每个进程反复调用sync() 将内存上的内容写到硬盘上
-m, --vm N 产生 N 个进程,每个进程不断分配和释放内存 malloc()/free()
--vm-bytes B 指定每个进程分配内存的大小(default is 256MB)
--vm-stride B touch a byte every B bytes (default is 4096)
--vm-hang N 指示每个消耗内存的进程在分配到内存后转入睡眠状态 N 秒,然后释放内存,一直重复执行这个过程
--vm-keep 一直占用内存,区别于不断的释放和重新分配(默认是不断释放并重新分配内存)
-d, --hdd N 产生 N 个不断执行 write 和 unlink 函数的进程(创建文件,写入内容,删除文件)
--hdd-bytes B 指定每个文件大小(default is 1GB)
4 例子
4.1 cpu
消耗2c的cpu资源
stress -c 2
4.2 内存
产生两个子进程,每个进程分配 300M 内存,一直占用
stress --vm 2 --vm-bytes 300M --vm-keep
产生两个子进程,每个进程分配 300M 内存,每隔5秒占用一次
stress --vm 2 --vm-bytes 300M --vm-hang 5
4.3 IO
命令产生 4 个进程,每个进程都反复调用 sync 函数将内存上的内容写到硬盘上
stress -i 4
创建1个进程不断的在磁盘上创建 1000M 大小的文件并写入内容
stress -d 1 --hdd-bytes 10M