stress 工具,它是 Linux 下标准的压力测试工具,能精确控制 CPU、内存、IO 负载类型和持续时间,比手动写死循环更安全、可控且易于清理。
1. 安装 stress
# CentOS/RHEL
sudo yum install -y stress
# Ubuntu/Debian
sudo apt-get install -y stress
2. 制造负载命令
场景 A:模拟 CPU 高负载(最常用,触发 CPU 告警)
产生 4 个进程,每个进程持续进行平方根计算,使 4 个 CPU 核心满载。
# --cpu 4: 启动4个工作进程
# --timeout 60s: 持续60秒后自动停止,防止忘记关闭导致服务器卡死
stress --cpu 4 --timeout 60s
操作:


场景 B:模拟内存高负载(触发 OOM 或内存告警)
分配 2GB 内存并持有,模拟内存泄漏或大内存占用。
# --vm 1: 启动1个内存工作进程
# --vm-bytes 2G: 每个进程分配2GB内存
# --vm-keep: 保持内存分配不释放(更真实模拟泄漏)
# --timeout 60s: 60秒后自动释放
stress --vm 1 --vm-bytes 2G --vm-keep --timeout 60s
场景 C:模拟 IO 高负载(触发磁盘 IO 告警)
产生 4 个进程,持续同步数据到磁盘。
# --io 4: 启动4个IO工作进程
# --timeout 60s: 持续60秒
stress --io 4 --timeout 60s
场景 D:混合负载(模拟综合高压)
同时打满 CPU、内存和 IO。
stress --cpu 4 --vm 2 --vm-bytes 1G --io 2 --timeout 60s
3. 验证与监控
在另一个终端执行以下命令观察负载变化:
# 查看整体负载和CPU使用率
top
# 查看具体 stress 进程详情
ps -ef | grep stress
4. 紧急停止
如果未设置 --timeout 或需要立即停止:
# 杀死所有 stress 进程
pkill -9 stress