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

服务器CPU常用测试工具(Linux)

一 ,CPU
工具:stress和stress-ng
stress 和 stress-ng 是 Linux 系统下两款经典的压力测试工具。它们的主要用途是给系统施加可配置的 CPU、内存、I/O 或磁盘负载,用于评估系统在极端条件下的稳定性和表现,帮助发现那些只在重负载下才会暴露的 bug。

简单来说,stress 是功能较基础的原版工具,而 stress-ng 是它的升级版,功能更强、测试场景更丰富
安装方法
在大多数 Linux 发行版中,可以通过包管理器轻松安装:

Ubuntu/Debian:

sudoaptupdatesudoaptinstallstress# 安装原版 stresssudoaptinstallstress-ng# 安装增强版 stress-ng

CentOS/RHEL:

sudoyuminstallepel-release-ysudoyuminstallstress stress-ng-y

stress 用法详解(基础版)
stress 是一款轻量级工具,通过创建多个进程来消耗特定资源。其基本命令格式为 stress [选项]。

核心参数
参数 说明 示例

-c,--cpu<N>启动 N 个 worker 进程,执行计算密集型操作(求随机数平方根)。 stress-c4-i,--io<N>启动 N 个 worker 进程,执行同步 I/O 操作(调用 sync())。 stress-i2-m,--vm<N>启动 N 个 worker 进程,进行内存分配和释放(malloc()/free())。 stress-m2--vm-bytes<B>每个 vm worker 分配的内存大小,默认 256MB。 stress-m1--vm-bytes 1G -d,--hdd<N>启动 N 个 worker 进程,进行磁盘写入(write()/unlink())。 stress-d1--hdd-bytes<B>每个 hdd worker 写入的数据量,默认 1GB。 stress-d1--hdd-bytes 3G -t,--timeout<N>设置测试运行时长,超过后自动退出。 stress-c4-t60s -v,--verbose输出更详细的信息。 stress-c4-v

数字后缀:时间参数可以用 s (秒), m (分), h (时), d (天);大小参数可以用 B (字节), K (KB), M (MB), G (GB)。

命令示例

# 1. 让4个CPU核心满载,持续60秒stress-c4-t60s# 2. 模拟内存压力:启动2个进程,每个分配256MB内存,持续30秒stress-m2--vm-bytes 256M-t30s# 3. 综合压力测试:2个CPU进程 + 1个I/O进程 + 1个内存进程(1GB)stress-c2-i1-m1--vm-bytes 1G-t60s

stress-ng 用法详解(增强版)
stress-ng 是 stress 的升级版本,完全兼容 stress 的参数,但提供了数百种更精细的压力测试选项,可以说是系统压力测试的“瑞士军刀”。

核心优势
更丰富的测试维度:除了 CPU、内存、I/O,还能测试网络、文件系统、进程调度、安全特性(如 AppArmor)等。

更精细的控制:可以指定 CPU 占用百分比 (–cpu-load),让 CPU 在特定负载下运行,而非总是100%。

针对性的压力算法:支持圆周率计算、矩阵运算、加密哈希等多种具体算法,能更精确地模拟特定场景。

常用参数

参数 说明 示例--cpu<N>启动 N 个 CPU 压力 worker。 stress-ng--cpu4--cpu-load<P>配合--cpu使用,设定每个 CPU 核的目标负载百分比(0-100)。 stress-ng--cpu2--cpu-load70--vm<N>启动 N 个内存压力 worker。 stress-ng--vm2--vm-bytes<B>所有 vm worker 占用的总内存大小。 stress-ng--vm1--vm-bytes 2G --vm-keep 让 vm worker 一直占用内存,不再重复分配/释放。 stress-ng--vm2--vm-bytes 1G --vm-keep--io<N>启动 N 个 I/O 压力 worker,可配合 --io-pattern 指定读写模式。 stress-ng--io4--io-pattern randrw--timeout<T>设置测试时长,如 60s、10m。 stress-ng--cpu4--timeout10m

命令示例

# 1. 精准控制CPU负载:让2个CPU核以70%的负载运行,持续30秒stress-ng--cpu2--cpu-load70-t30s# 2. 稳定内存占用:启动1个进程,一直占用2GB内存stress-ng--vm1--vm-bytes 2G --vm-keep# 3. 混合测试:4个CPU压力 + 1个内存压力(1GB,持续占用) + 2个I/O压力,运行1分钟stress-ng--cpu4--vm1--vm-bytes 1G --vm-keep--io2-t1m

主要区别与选择建议
特性 stress stress-ng
功能丰富度 基础(CPU, 内存, I/O, 磁盘) 极其丰富 (上百种测试场景)
CPU负载控制 只能实现100%满载 可精确控制 负载百分比 (–cpu-load)
测试场景 通用压力模拟 精细化模拟 (浮点运算、网络、文件系统等)
适用场景 快速、基础的负载测试 深入、全面的系统稳定性与性能评估
一句话总结:如果你需要的是一个简单、快速的负载生成器,stress 就足够了;如果你需要进行深入、全面、可定制的系统压力测试,stress-ng 是更强大的选择。

⚠️ 注意事项
非基准测试工具:官方文档明确指出,stress 和 stress-ng 不是精确的基准测试(Benchmark)工具,它们主要用于给系统制造负载以测试稳定性。

谨慎使用:这些工具会给系统带来极高的负载,可能导致系统响应变慢、服务不可用甚至崩溃。切勿在生产环境或关键业务系统上随意运行,建议在隔离的测试环境中使用。

监控与配合:进行压力测试时,最好配合 top、htop、vmstat、iostat 等系统监控工具,实时观察系统资源使用情况。

http://www.jsqmd.com/news/1401171/

相关文章:

  • 第二十四章 个体认知形成工程
  • 老旧Mac免费升级最新macOS:OpenCore Legacy Patcher开源工具完整指南
  • MySQL Workbench新手入门:从零掌握数据库创建与CRUD操作
  • 2026高端AI官网建设公司9家**盘点:正规服务商选型标准、避坑指南与适配场景详解 - 行业观察网
  • 2026下半年了,你的办公方式该升升级了
  • 2026深圳港口与航道总包资质代办品牌实力解析:水运工程与航道施工资质办理关键考量 - 卓企推荐
  • 南平除甲醛公司甲醛治理公司剖析:金耀环境除甲醛 - CMA甲醛检测中心
  • AI编程助手Codex部署与实战:从VSCode插件到本地模型集成
  • 肇庆配电柜回收机构怎么选?五星整厂回收**品牌实力横评 - 广东再生资源回收
  • 2026婚庆公司高端AI官网建设服务商盘点:正规靠谱品牌选型攻略+签约避坑FAQ - U渠道
  • 精选高效实用网站清单:从工具原理到应用场景的全方位指南
  • 宜春除甲醛公司甲醛治理公司剖析:金耀环境除甲醛 - CMA甲醛检测中心
  • Linux命令行高效开发:从基础工具到自动化实践
  • 天津除甲醛公司甲醛治理公司剖析:金耀环境除甲醛 - CMA甲醛检测中心
  • Playwright官方文档样例报错解决:从环境配置到工程化实践
  • Ubuntu 24.04 搭建内网 DNS 服务器 (BIND9)
  • 卖家精灵用户超190万!即刻用卖家精灵优惠折扣码开启核心功能! - 跨境电商卖家出海
  • 2026人工智能公司适配的官网AI化改造服务商大盘点:正规测评、实力解析及签约避坑全指南 - U渠道
  • 黄山除甲醛公司甲醛治理公司剖析:金耀环境除甲醛 - CMA甲醛检测中心
  • 南宁除甲醛公司甲醛治理公司剖析:金耀环境除甲醛 - CMA甲醛检测中心
  • 中山新房配电柜回收哪家好?2026年五星合作伙伴**真实测评 - 广东再生资源回收
  • 广州除甲醛公司甲醛治理公司剖析:金耀环境除甲醛 - CMA甲醛检测中心
  • 肇庆专业电缆回收公司推荐:五星环保服务认准资质与技术三强对比 - 广东再生资源回收
  • 基于Bash的轻量级LLM Agent实现:Dora项目实战解析
  • Typora主题全攻略:从安装配置到个性化定制,打造高效写作环境
  • Vue与React技术选型深度对比:为何Vue在中小型Node.js全栈项目中更受青睐?
  • 宜昌除甲醛公司甲醛治理公司剖析:金耀环境除甲醛 - CMA甲醛检测中心
  • 大模型推理加速:共享前缀(Shared Prefix)优化技术的全面解析 - -银光
  • 【Codex】Part 13 — AI-Native Software Development
  • Android本地存储优化:MMKV核心原理、集成封装与性能调优指南