作为Linux系统管理员或开发者,你是否需要确保你的服务器在高负载下依然稳定?是否想验证应用程序在极端条件下的表现?stress-ng 是一款强大的Linux压测工具,它能模拟各种资源压力,帮助你进行系统压力测试和性能优化。本文将从安装到脚本自动化,带你彻底搞懂stress-ng的使用。
stress-ng是Linux系统上的一款压力测试工具,它是早期stress工具的超集,支持超过300种压力场景(CPU、内存、磁盘、网络、进程等)。通过模拟实际负载,你可以发现系统的瓶颈,验证监控告警,甚至测试内核稳定性。无论你是进行性能优化还是学习Linux压测工具,stress-ng都是必备神器。
stress-ng已纳入主流发行版仓库,安装非常简单:
sudo apt install stress-ngsudo yum install stress-ng 或 sudo dnf install stress-ngsudo dnf install stress-ngsudo pacman -S stress-ngstress-ng的核心用法是 stress-ng [选项]。以下是最常用的参数:
| 参数 | 作用 | 示例 |
|---|---|---|
-c N | 启动N个CPU压力线程(计算密集型) | stress-ng -c 4 |
-m N | 启动N个内存压力线程(不断分配/释放) | stress-ng -m 2 --vm-bytes 256M |
-i N | 启动N个IO压力线程(sync()调用) | stress-ng -i 4 |
-d N | 启动N个磁盘压力线程(读写临时文件) | stress-ng -d 2 --hdd-bytes 1G |
-t TIME | 设置运行时间(默认秒,可加m/h) | stress-ng -c 4 -t 1m |
--verbose | 显示详细运行信息 | stress-ng -c 4 --verbose |
更多参数可通过 stress-ng --help 查看。掌握这些基础,你已经能进行大多数系统压力测试了。
模拟4个CPU核心满载运行60秒:stress-ng -c 4 -t 60。观察系统负载,可用top或htop监控。
启动2个内存压力线程,每个分配256MB:stress-ng -m 2 --vm-bytes 256M -t 30s。这有助于发现内存泄漏或不足。
启动2个磁盘压力线程,每个写入1GB数据:stress-ng -d 2 --hdd-bytes 1G -t 1m。注意指定临时目录(--temp-path)避免系统盘爆满。
同时压测CPU、内存和磁盘:stress-ng -c 2 -m 1 -d 1 -t 2m。这种场景更贴近真实负载。
手动执行压测命令只能满足一次性需求。在持续集成或日常巡检中,我们需要自动化脚本。下面是一个简单的Bash脚本示例,它会循环执行不同的压测模式,并记录结果:
#!/bin/bash# stress-ng自动化压测脚本LOG_FILE="/var/log/stress-test.log"DATE=$(date "+%Y-%m-%d %H:%M:%S")echo "[$DATE] 开始CPU压力测试(4核,60秒)" >> $LOG_FILEstress-ng -c 4 -t 60 --metrics-brief >> $LOG_FILE 2>&1echo "[$DATE] 开始内存压力测试(2线程,256MB,30秒)" >> $LOG_FILEstress-ng -m 2 --vm-bytes 256M -t 30 --metrics-brief >> $LOG_FILE 2>&1echo "[$DATE] 测试完成" >> $LOG_FILE 你可以将此脚本加入cron,实现定期系统压力测试。结合监控工具(如Prometheus),还能自动触发告警,真正做到性能优化闭环。
--timeout或-t限制运行时间,避免压测无限执行。--metrics-brief输出详细性能指标,便于分析。--hdd-temp指定临时目录,避免影响系统分区。--sock)、矩阵运算等高级功能,可通过stress-ng --help探索。通过本文,你从零开始学习了stress-ng教程,掌握了安装、基础参数、实战案例以及脚本自动化。stress-ng作为最全面的Linux压测工具,能帮助你深入了解系统极限,提前发现隐患。无论是日常系统压力测试还是深入性能优化,它都是你不可或缺的伙伴。现在,就去试试吧!
关键词:stress-ng教程、Linux压测工具、系统压力测试、性能优化
本文由主机测评网于2026-02-25发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20260227120.html