stress命令详解

stress命令介绍

stress 命令是一个用于在计算机系统上创建并模拟压力的实用工具,通常用于测试系统的稳定性和性能。它可以模拟 CPU 负载、内存占用、磁盘 I/O 和网络流量等,从而帮助用户评估系统在不同负载条件下的表现。

安装 stress 工具

yum install epel-release -y
yum install stress -y

CPU 负载测试

stress --cpu 2 --timeout 60
# --cpu 2: 表示启动 2 个 worker 进程,持续进行复杂的浮点计算(占用 CPU 资源)。如果你的 CPU 是多核心的,这会让 2 个核心接近 100% 使用率(每个 worker 占满一个核心)。如果是单核 CPU,则会争夺同一个核心的资源,总负载接近 100%。
# --timeout 60: 表示压力测试持续 60 秒(1 分钟),之后自动停止。如果不设置这个参数,stress 会一直运行,直到手动终止(如按 Ctrl+C)。

内存占用测试

stress --vm 2 --vm-bytes 1G --vm-hang 100 --timeout 100s
# --vm 2:启动 2 个内存压力测试进程(worker)
# --vm-bytes 1G:每个 worker 分配 1GB 内存(总共占用 2 × 1GB = 2GB)
# --vm-hang 100:分配内存后,保持占用 100 秒(不释放)
# --timeout 100s:整个测试运行 100 秒 后自动停止

磁盘 I/O 测试

stress --hdd 2 --hdd-bytes 10G --backoff 2000000  
# --hdd 2: 启动 2 个磁盘写入进程(worker)
# --hdd-bytes 10G: 每个 worker 写入 10GB 数据(总写入量 2 × 10GB = 20GB)
# --backoff 2000000: 控制写入速度(单位:微秒),控制 I/O 操作的延迟间隔,值越大写入越慢。值越小 → 延迟越短 → 写入速度越快(甚至可能让磁盘负载飙高)。
posted @ 2025-08-12 00:13  阿峰博客站  阅读(152)  评论(0)    收藏  举报