stress是Linux下最常用、轻量可靠的性能压测工具,支持CPU(--cpu)、内存(--vm)、磁盘I/O(--io/--hdd)等多维度压力模拟,可组合使用并配合top、free、iostat等命令实时监控。

Linux服务器性能压测,stress 是最常用、轻量且可靠的命令行工具。它不依赖图形界面,能快速模拟 CPU、内存、磁盘 I/O 等资源的高负载场景,适合验证硬件承载力、系统稳定性或监控告警是否生效。
CPU 压力测试
核心是用 --cpu 参数启动计算密集型进程,每个进程反复执行 sqrt() 运算,真实拉高 us(用户态)和 sy(内核态)占用率。
- 压满 4 个逻辑 CPU 核,持续 60 秒:stress --cpu 4 --timeout 60
- 只压测不设超时,需手动 Ctrl+C 停止:stress --cpu 2
- 配合 top 实时观察:新开终端运行 top -d 1,按 1 键可显示各 CPU 核使用率
内存压力测试
用 --vm 启动内存分配进程,--vm-bytes 控制单次分配大小,--vm-keep 表示分配后不释放(更贴近内存泄漏或长期驻留场景)。
- 启动 2 个进程,各占用 1G 内存并保持不释放:stress --vm 2 --vm-bytes 1G --vm-keep
- 测试 100 秒后自动退出,分配后释放:stress --vm 3 --vm-bytes 512M --timeout 100
- 验证效果:运行 free -h 查看 available 是否明显下降;top 中看 RES 列是否有对应 stress 进程占大内存
磁盘与 I/O 压力测试
注意区分两类操作:--io 模拟同步 I/O(如 fsync),--hdd 模拟大块磁盘写入(创建临时文件并反复写入)。
- 启动 4 个同步 I/O 进程,持续 90 秒:stress --io 4 --timeout 90
- 写入磁盘:启动 2 个 hdd 进程,每进程写 3G 数据(默认会清理临时文件):stress --hdd 2 --hdd-bytes 3G
- 若要保留写入文件用于后续分析,加 --hdd-noclean 参数
- 观察 I/O:用 iostat -x 1(需先 yum install sysstat)看 %util、await、r/s、w/s 等指标
组合压测与实用技巧
生产环境往往多种压力并存,stress 支持多参数混用,一次启动多个类型的工作进程。
- 同时压测 2 个 CPU 核 + 2 个内存进程(各占 500M)+ 2 个 I/O 进程,持续 120 秒:stress --cpu 2 --vm 2 --vm-bytes 500M --io 2 --timeout 120
- 静默模式(不输出日志)加 --quiet,减少干扰:stress --cpu 1 --quiet
- 查看帮助:stress --help;确认版本:stress --version
- 测试前建议先查硬件规格:nproc(逻辑 CPU 数)、free -h(内存总量)、df -h /(根分区空间)
以上就是Linux服务器性能怎么压测_stress工具使用教程【教程】的详细内容,更多请关注php中文网其它相关文章!