当前位置: 首页 > article >正文

Linux stress-ng命令解读

stress-ng是一个用于对系统进行压力测试的工具,可用于测试CPU、内存、I/O、网络等各个方面的性能和稳定性。以下是对其帮助文档的详细解读:

1. 版本信息

stress-ng, version 0.13.01 (gcc 10.4, aarch64 Linux 5.10.160) 💻🔥

显示了stress-ng的版本号、编译时使用的GCC版本、目标架构以及支持的Linux内核版本。

2. 通用控制选项

  • --abort:如果任何一个压力测试失败,中止所有压力测试。
  • --aggressive:启用所有激进选项。
  • -a N, --all N:启动每种压力测试的N个工作线程。
  • -b N, --backoff N:在工作开始前等待N微秒。
  • --class name:指定一类压力测试,需与--sequential一起使用。
  • -n, --dry-run:不实际运行压力测试,仅显示配置信息。
  • -h, --help:显示帮助信息。
  • --ignite-cpu:更改内核控制,使CPU运行更热。
  • --ionice-class C:指定I/O调度类(idle、besteffort、realtime)。
  • --ionice-level L:指定I/O调度优先级(0最大,7最小)。
  • -j, --job jobfile:运行指定的任务文件。
  • -k, --keep-name:保持压力测试工作线程的名称为stress-ng
  • --log-brief:减少日志输出的详细程度。
  • --log-file filename:将日志信息记录到指定的文件中。
  • --maximize:启用最大压力选项。
  • --max-fd:设置最大文件描述符限制。
  • -M, --metrics:打印活动的伪指标。
  • --metrics-brief:启用指标并仅显示非零结果。
  • --minimize:启用最小压力选项。
  • --no-madvise:在每次mmap时不使用随机的madvise选项。
  • --no-rand-seed:使用相同的常量作为随机数生成器的种子。
  • --page-in:触摸分配但不在内存中的页面。
  • --parallel N:与--all N同义。
  • --pathological:启用已知可能导致机器挂起的压力测试。
  • --perf:显示性能统计信息。
  • -q, --quiet:安静输出,减少不必要的信息。
  • -r, --random N:启动N个随机选择的压力测试工作线程。
  • --sched type:设置调度器类型。
  • --sched-prio N:设置调度器优先级级别N。
  • --sched-period N:为SCHED_DEADLINE调度器设置周期,单位为纳秒(仅适用于Linux)。
  • --sched-runtime N:为SCHED_DEADLINE调度器设置运行时间,单位为纳秒(仅适用于Linux)。
  • --sched-deadline N:为SCHED_DEADLINE调度器设置截止时间,单位为纳秒(仅适用于Linux)。
  • --sched-reclaim:为SCHED_DEADLINE调度器设置回收CPU带宽(仅适用于Linux)。
  • --seed N:设置64位的随机数生成器种子。
  • --sequential N:逐个运行所有压力测试,每次调用N个。
  • --skip-silent:静默跳过未实现的压力测试。
  • --stressors:显示可用的压力测试列表。
  • --smarg:显示S.M.A.R.T.数据的变化。
  • --syslog:将日志信息记录到系统日志中。
  • --taskset:使用特定的CPU(设置CPU亲和力)。
  • --temp-path path:指定临时目录和文件的路径。
  • --thrash:强制所有页面进入内存,导致交换抖动。
  • -t N, --timeout T:设置压力测试的超时时间,单位为秒。
  • --timer-slack:启用定时器松弛模式。
  • --times:在测试结束时显示运行时间总结。
  • --timestamp:在日志输出中添加时间戳。
  • --tz:从热区收集温度信息(仅适用于Linux)。
  • -v, --verbose:详细输出,显示更多信息。
  • --verify:验证测试结果(并非所有测试都支持)。
  • -V, --version:显示版本信息。
  • -Y, --yaml file:将测试结果输出到YAML格式的文件中。
  • -x, --exclude:指定要排除(不运行)的压力测试列表。

3. 压力测试特定选项

这部分包含了大量针对不同类型压力测试的选项,例如:

  • --access N:启动N个工作线程,对文件访问权限进行压力测试。
  • --cache N:启动N个CPU缓存抖动工作线程。
  • -c N, --cpu N:启动N个仅进行CPU负载的工作线程。
  • -f N, --fork N:启动N个在fork()exit()上循环的工作线程。
  • -h N, --hdd N:启动N个在write()unlink()上循环的工作线程,模拟硬盘I/O压力。
  • -i N, --io N:启动N个在sync()上循环的工作线程,模拟I/O压力。
  • -m N, --vm N:启动N个在匿名mmap上循环的工作线程,模拟虚拟内存压力。

每个压力测试选项都有相应的参数,用于控制测试的具体行为,例如工作线程的数量、操作次数、数据大小等。

4. 示例

Example: stress-ng --cpu 8 --io 4 --vm 2 --vm-bytes 128M --fork 4 --timeout 10s

这个示例展示了如何使用stress-ng同时对CPU、I/O、虚拟内存和进程创建进行压力测试。具体配置为:启动8个CPU压力测试工作线程、4个I/O压力测试工作线程、2个虚拟内存压力测试工作线程(每个工作线程分配128MB内存)、4个进程创建压力测试工作线程,并设置总测试时间为10秒。

5. 注意事项

文档最后提到,大小可以使用B、K、M、G等后缀表示,时间可以使用s、m、h、d、y等后缀表示。

通过这些选项,用户可以根据具体需求对系统进行全面的压力测试,以评估系统在不同负载条件下的性能和稳定性。


http://www.kler.cn/a/510507.html

相关文章:

  • Chapter5.4 Loading and saving model weights in PyTorch
  • 游戏引擎学习第81天
  • 【Android】蓝牙电话HFP连接源码分析
  • 电子电气架构 --- ECU故障诊断指南
  • ThinkPhp项目解决静态资源请求的跨域问题的解决思路
  • 流程与管理篇:IPD核心思想与框架
  • vue 学习笔记 - 创建第一个项目 idea
  • 合并两个有序数组(88)合并两个有序链表(21)
  • 大模型UI:Gradio全解11——Chatbot:融合大模型的聊天机器人(4)
  • 第34天:Web开发-PHP应用鉴别修复AI算法流量检测PHP.INI通用过滤内置函数
  • 《weak_ptr源码剖析》
  • 在K8S中,业务Pod数据如何存储?
  • JavaScript系列(32)-- WebAssembly集成详解
  • 数据库高可用方案-08-多版本管理
  • owasp SQL 注入-03 (原理)
  • Python爬虫-爱奇艺电视剧数据
  • Redis的部署和操作
  • 基于poll函数实现并发处理
  • 联合体(Union)
  • 根据现代业务需求设计数据架构(三)- 数据网格(Data Mesh)
  • 数据结构 数组
  • 团体程序设计天梯赛-练习集——L1-012 计算指数
  • Netty中的NioEventloop(1)
  • vue基础代码第一篇
  • 分类问题(二元,多元逻辑回归,费歇尔判别分析)spss实操
  • [手机Linux] ubuntu 错误解决