stress使用命令
时间: 2025-07-01 11:14:26 浏览: 4
### Stress 工具使用命令详解
Stress 是 Linux 下的一款用于系统负载测试的工具,主要用于对 CPU、内存、I/O 和磁盘进行压力测试。以下是其基本语法和常用命令示例:
#### 基本语法
```bash
stress [选项]...
```
其中 `[选项]...` 表示各种可选参数。
---
#### 参数说明
| 参数 | 描述 |
|------|------|
| `-?`, `--help` | 显示帮助信息[^2]。 |
| `--version` | 显示软件版本信息[^3]。 |
| `-t secs`, `--timeout secs` | 指定运行多少秒后停止测试[^3]。 |
| `-c forks`, `--cpu forks` | 创建多个处理 sqrt() 函数的 CPU 进程来占用 CPU 资源。 |
| `-m forks`, `--vm forks` | 创建多个处理 malloc() 内存分配操作的进程来消耗内存资源。 |
| `-i forks`, `--io forks` | 创建多个调用 sync() 函数的 I/O 进程来模拟磁盘读写操作[^3]。 |
| `-d forks`, `--hdd forks` | 创建多个写入临时文件到磁盘的操作来模拟硬盘压力测试[^3]。 |
其他高级参数包括但不限于:
- `--vm-bytes bytes`: 指定每个虚拟机进程使用的字节数,默认为 1GB[^3]。
- `--vm-hang seconds`: 指定在释放之前挂起已分配内存的时间长度(单位:秒)。
- `--vm-keep`: 不释放已经分配的内存,持续保持高内存占用状态[^4]。
- `--hdd-bytes bytes`: 每个 HDD 测试线程所写入的数据量默认为 1GB。
- `--hdd-noclean`: 不删除生成的临时文件,保留写入的内容在磁盘上。
---
#### 实例演示
##### 1. 单核 CPU 压力测试
以下命令启动单个 CPU 压力测试并持续 10 秒钟:
```bash
stress -c 1 -t 10
```
此命令创建了一个执行 sqrt() 计算的子进程,并让该进程运行 10 秒钟[^1]。
##### 2. 多核 CPU 压力测试
如果希望同时利用双核或多核处理器的压力测试,可以增加 `-c` 后面的数量:
```bash
stress -c 4 -t 60
```
这将在四颗核心上分别施加压力,并维持 60 秒[^3]。
##### 3. 内存压力测试
下面的例子展示了如何通过两个虚拟内存进程来模拟内存占用的情况,每台虚拟机分配 500MB 的内存:
```bash
stress --vm 2 --vm-bytes 500M --timeout 30s
```
这里指定了两组虚拟内存进程,每组分配 500 MB 并持续 30 秒[^4]。
##### 4. 磁盘 I/O 压力测试
为了测试系统的磁盘性能,可以通过如下方式实现同步操作的压力加载:
```bash
stress -i 2 -t 120
```
这条指令会发起两次同步 (sync()) 请求循环,从而制造较高的 IO 密集型工作负荷,持续时间为 120 秒[^3]。
##### 5. 硬盘写入压力测试
对于实际存储设备上的写压测需求,可以用下列形式完成:
```bash
stress -d 1 --hdd-bytes 1G -t 60
```
它会在当前目录下生成一个大小约为 1 GB 的随机 ASCII 数据文件,并对其进行写入操作,最后自动清理这些文件[^3]。
---
### 注意事项
- 如果需要长期监控服务器稳定性或者调试硬件瓶颈问题时,请谨慎设置参数值以免影响正常业务运作。
- 对于嵌入式平台或其他特殊架构编译安装过程可能有所不同,需按照具体环境调整配置脚本中的交叉编译器路径等细节。
---
阅读全文
相关推荐


















