第 34 章 使用压力测试实时系统


stress-ng 工具测量系统的能力,以便在不可尝试的情况下保持良好的效率水平。stress-ng 工具是一种压力工作负载生成器,用于加载和压力所有内核接口。它包括广泛的压力机制,称为压力者。压力测试使得计算机工作困难和行程硬件问题(如热运行和操作系统漏洞)在系统过度工作时发生。

270 进行了不同的测试。这包括练习浮动点、整数、位操作、控制流和虚拟内存测试的 CPU 特定测试。

注意

请谨慎使用 stress-ng 工具,因为某些测试可能会影响设计较差硬件上系统的热区域行点。这可能会影响系统性能,并导致过度出现系统延迟,这很难停止。

34.1. 测试 CPU 浮点单元和处理器数据缓存

浮点单元是处理器的功能部分,其执行浮点算术操作。浮点单元处理数学操作,使浮动数或十进制计算变得更加简单。

使用-- matrix-method 选项,您可以压力测试 CPU 浮动点操作和处理器数据缓存。

先决条件

  • 在系统中具有 root 权限

流程

  • 要测试一个 CPU 上的浮动点 60 秒,请使用 the- matrix 选项:

    # stress-ng --matrix 1 -t 1m
  • 要在多个 CPU 上运行多个压力(60 秒),请使用- times or -t 选项:

    # stress-ng --matrix 0 -t 1m
    
    stress-ng --matrix 0 -t 1m --times
    stress-ng: info:  [16783] dispatching hogs: 4 matrix
    stress-ng: info:  [16783] successful run completed in 60.00s (1 min, 0.00 secs)
    stress-ng: info:  [16783] for a 60.00s run time:
    stress-ng: info:  [16783] 240.00s available CPU time
    stress-ng: info:  [16783] 205.21s user time   ( 85.50%)
    stress-ng: info:  [16783] 0.32s system time (  0.13%)
    stress-ng: info:  [16783] 205.53s total time  ( 85.64%)
    stress-ng: info:  [16783] load average: 3.20 1.25 1.40

    具有 0 压力测试器的特殊模式,查询要运行的可用 CPU,无需指定 CPU 号。

    总 CPU 时间为 4 x 60 秒(240 秒),其中 0.13% 在内核中为 85.50%,用户时间为 85.64%,stress-ng 运行所有 CPU 的 85.64%。

  • 要使用 POSIX 消息队列测试进程间传递的消息,请使用 the -mq 选项:

    # stress-ng --mq 0 -t 30s --times --perf

    mq 选项配置特定数量的进程,以使用 POSIX 消息队列强制上下文切换。这种压力测试旨在用于低数据缓存未命中。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部