目录
1. 语法
stress [选项] [进程数]
1.1. 常用参数
-c:模拟CPU使用个数
-m:模拟N个进程频繁调用/释放内存
-d:模拟磁盘写(创建文件,写入内容,删除文件)
-i:模拟I/O,将内存缓冲区中的数据立即写入磁盘
--hdd-bytes N:指定写入文件大小,默认为1GB(与 -d 使用)
--vm-bytes N:指定分配内存的大小(与 -m 使用)
--vm-keep :一直占用内存,而不是循环调用/释放(与 -m 使用)
--timeout:N秒后退出(同 -t)
--backoff:工作开始前等待N微秒(1秒=1000000微秒)
-v:详细输出
-q:静默输出
Note: 数字可以以时间(s、m、h、d、y)或大小(B、K、M、G)作为后缀
2. 常见用法
2.1. 模拟大量CPU
stress -c 4
循环调用4个cpu
2.2. 模拟大量内存使用
频繁消耗/释放内存
stress -m 4
free 表示剩余内存。直接从 1217940 下降到 60w 左右,因为是频繁消耗和频繁释放,所以并不稳定。
id 表示空闲cpu。因为调用的 4 个进程使用内存,我系统CPU为8核,所以也会消耗 50%。
一直占用内存,不释放
stress -m 4 --vm-keep
--vm-keep 表示不释放内存,所以 free 直接消耗,不释放内存
2.3. 模拟大量磁盘写
stress -d 4
2.4. 指定测试时间
指定退出时间
stress -c 2 -m 3 -d 1 -i 1 --timeout 10
--timeout 表示N秒后退出
指定延迟测试时间
stress -c 4 --backoff 2000000
--backoff 2000000 表示每个进程延迟2秒
例如:这里指定了4个CPU,那么运行第1个CPU是2秒后,第2个CPU是4秒后,以此类推
2.5. 输出dbug信息(-v)
stress -c 4 --timeout 3 -v
stress -m 4 --timeout 3 -v
stress -d 4 --timeout 3 -v