stress-ng工具压力测试linux系统

一、stress-ng介绍

stress-ng兼容stress, 支持产生各种复杂的压力。

二. stress命令介绍

选项含义
-t, --timeout指定运行多少秒停止
–backoff指定等待N微妙后开始运行
-c, --cpu指定产生N个处理sqrt()函数的CPU进程,也就是每个进程不停计算随机数的平方根
-i, --io指定产生N个处理sync()函数的磁盘I/O进程,sync()用于将内存上的内容写到硬盘上
-m, --vm指定产生n个进程,每个进程不断调用内存分配malloc函数和内存释放free函数
–vm-bytes指定调用malloc函数时分配内存的字节数 (默认256MB)
–vm-stride应该是给内存赋值,touch a byte every B bytes (default is 4096)
–vm-hang指定malloc函数分配的内存转入睡眠状态 N 秒,然后free()释放掉,一直重复执行这个过程
–vm-keep冗余内存,而不是释放和重新分配
-d, --hdd指定产生N个不断执行 write 和 unlink 函数的进程(创建文件,写入内容,删除文件)
–hdd-bytes指定写入文件大小,默认为1GB

三、stress安装

1、创建/home/stress-ng目录
mkdir -p /home/stress-ng
2、拷贝安装包到/home/stress-ng
stress-ng-0.14.01.tar.gz
下载地址:https://fossies.org/linux/privat/stress-ng-0.14.01.tar.gz
3、解压源文件安装包
cd /home/stress-ng
tar -zxvf stress-ng-0.14.01.tar.gz
4、编译
cd /home/stress-ng/stress-ng-0.14.01
make
5、安装
sudo make install
注意:如果提示make: cc: Command not found。意思还是要安装gcc,可以使用以下命令安装
yum install gcc

四、查看服务器配置

1、查看cpu个数

cat /proc/cpuinfo

2、查看内存大小

cat /proc/meminfo

3、查看磁盘大小

df -h

五、查看压测时的服务器资源情况

查看cup命令:top

查看内存使用情况:free

六、压测cpu,把6个cpu压满

stress-ng --cpu 6 --timeout 180

开启6个CPU进程执行sqrt计算,180秒后结束

七、压测内存,压20G内存

stress-ng --vm 4 --vm-bytes 20G --vm-hang 180 --timeout 180s

开启4个进程分配内存,每次分配20GB内存,保持180秒后释放,180秒后退出。

八、压测磁盘io,开启5个磁盘IO进程,每次写20GB数据到磁盘,180秒后退出

stress-ng --hdd 5 --hdd-bytes 20G --timeout 180s

<think>好的,我现在需要回答用户关于stress-ng工具的使用方法和相关信息。首先,我要回忆用户提供的引用内容,确保信息准确。用户给了三个引用,分别是关于查看帮助命令、常见参数解释和工具的基本介绍。 首先,用户想知道stress-ng的使用教程和工具介绍。根据引用3,stress-ng是一个用于系统压力测试工具,可以测试CPU、内存、文件系统等部分。需要先安装,可能在不同的Linux发行版有不同的安装命令,比如Ubuntu用apt,CentOS用yum。然后基本使用方法是运行stress-ng后加参数,比如--cpu指定CPU压力测试的进程数,--timeout设置持续时间。用户可能还需要示例命令,比如stress-ng --cpu 4 --io 2 --timeout 60s,这可以同时测试CPU和IO。 然后,用户可能需要了解如何查看帮助,引用1提到用stress-ng -h来查看使用方法,这会显示所有可用选项。常见参数方面,引用2提到了一些选项,比如--cpu、--vm、--io,这些需要详细解释每个参数的作用,比如--cpu 4是启动4个CPU压力进程,--vm 2是启动2个内存压力进程,每个占用256MB内存。 接下来,组合压力测试场景可能需要给出更复杂的例子,比如同时测试CPU、内存、IO,并设置超时和详细输出。用户可能想知道如何验证系统状态,可以使用top、htop、free等命令监控资源使用情况。此外,高级功能如随机压力测试--random)和自定义工作负载(通过worker options)也需要提及。 注意事项部分需要提醒用户在生产环境谨慎使用,避免系统过载,同时结合监控工具观察系统表现。最后,生成相关问题需要考虑用户可能进一步想知道如何安装、常用参数有哪些、如何监控测试结果,以及常见问题的解决方法。 需要确保回答结构清晰,分步骤介绍安装、基本使用、参数说明、示例、监控方法等,并自然地插入引用标记。同时,生成的三个问题要覆盖安装、参数解释和应用场景,帮助用户深入理解工具的使用。</think>### stress-ng 工具介绍与使用教程 #### 1. 工具简介 stress-ng 是一个用于对 Linux 系统进行多维度压力测试工具,能够模拟 CPU、内存、文件系统、网络等子系统的高负载场景,帮助验证系统在极端条件下的稳定性和性能[^3]。其支持多种压力测试模式,并允许自定义工作负载参数[^2]。 #### 2. 安装方法 - **Ubuntu/Debian**: ```bash sudo apt install stress-ng ``` - **CentOS/RHEL**: ```bash sudo yum install stress-ng ``` - **源码编译**(适用于自定义配置): ```bash git clone https://github.com/ColinIanKing/stress-ng cd stress-ng make && sudo make install ``` #### 3. 基本使用 通过 `stress-ng -h` 可查看完整帮助文档[^1],常用参数如下: - **`--cpu N`**: 启动 N 个 CPU 压力测试进程(例如 `--cpu 4` 模拟 4 核满载)[^2] - **`--vm N`**: 启动 N 个内存压力测试进程(默认每个进程占用 256MB 内存) - **`--io N`**: 启动 N 个 I/O 压力测试进程 - **`--timeout T`**: 设置测试持续时间(如 `60s`、`5m`) #### 4. 示例场景 - **CPU + 内存综合测试**: ```bash stress-ng --cpu 4 --vm 2 --io 1 --timeout 3m ``` 此命令会同时启动 4 个 CPU 进程、2 个内存进程和 1 个 I/O 进程,持续 3 分钟。 - **生成详细报告**: ```bash stress-ng --cpu 2 --metrics-brief --timeout 30s ``` 输出包含 CPU 使用率统计和错误计数。 #### 5. 监控系统状态 测试过程中可通过以下命令实时观察资源使用: - **CPU/内存监控**: ```bash top # 或 htop free -h # 查看内存占用 ``` - **磁盘 I/O 监控**: ```bash iostat -x 1 ``` #### 6. 高级功能 - **随机压力测试**: ```bash stress-ng --random 0 ``` 随机选择压力测试模式,覆盖多种子系统- **自定义工作负载**: ```bash stress-ng --cpu 4 --cpu-ops 100000 # 限制每个进程执行 10 万次操作 ``` #### 7. 注意事项 - 压力测试可能导致系统暂时无响应,建议在测试环境中执行。 - 结合 `--verbose` 参数可输出详细日志,便于调试。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值