stress 压力测试
最后更新于:2022-04-02 03:49:48
[TOC]
## 安装
几乎所有主流的linux发行版的软件仓库中都收录有stress,可以直接使用包管理起来安装
```
yum install stress
```
## 语法
```
stress options
-c N 生成N个进程在进行sqrt() 计算
-m N 生成N个进程跑 malloc()/free()
--vm-bytes B 每个进程占用 内存 (default is 256MB)
-i N 生成N个进程跑 sync(),sync为讲缓存区的内容存入磁盘
-d N 生成N个进程 调用 write()/unlink()
--hdd-bytes B 每个进程写入B字节 (default is 1GB)
-t N 设置timeout 为 n秒后结束
```
## 实例
### 对CPU进行压力测试
```
stress -c 4
如果cpu有4个核,则会跑满四个4核
```
### 对内存进行压力测试
```
stress -m 3 --vm-bytes 300M
生成3 个进程,每个进程占用300M内存
```
> 虽然只是对内存进行压力测试,但实际上CPU也是很繁忙的,占有率也接近100%
### 对磁盘进行压力测试
```
stress -i 2 -d 4 --hdd-bytes 512M
-i 2 生成2个进程,进程反复调用sync()将内存上的内容写到硬盘上
-d 4 4个进程一个反复4G内容
```
### 同时对多项指标进行压力测试
```
stress -c 4 -m 2 -d 1
4核2个进程暂用256MB进程,一个进程反复写入1G内容
```
### 设置超时时间
```
stress -c 4 -t 10s
```
';