type
status
date
slug
summary
tags
category
icon
password
1. 安装压力测试软件
2. 压力测试
可以使用下面这条命令。它会自动利用所有 CPU 核心,并占用你总内存的 85%(预留 15% 给系统内核和其他进程,防止死机或触发 OOM 杀手),且设置了 60 秒后自动停止,防止系统长时间卡顿无法恢复。建议直接在命令行使用 stress-ng,然后开着 s-tui 的 "Monitor" 模式在旁边观察。
“长时间 + 全方位”测试命令
这条命令会测试 30分钟,同时压测 CPU、内存和磁盘。
命令详解:
- -cpu 0: 自动检测并满载所有 CPU 核心。
- -vm 1 --vm-bytes 85%: 使用 85% 的物理内存进行测试,保留 15% 给系统,防止死机。如果你确定当前没有运行浏览器或其他耗内存的软件,想把内存压榨到 90% - 95%,可以修改百分比。
⚠️ 警告:不要设置为 100%,否则 Linux 内核的 OOM Killer(内存溢出杀手)会立即介入,它可能会杀掉 stress-ng,也有极小概率误杀你的桌面环境导致图形界面重启。对于 16GB 内存,保留 5-10% 是最安全的做法。
- -hdd 1: 启动 1 个磁盘读写进程。
- -hdd-bytes 4G: 关键保护。限制每次只写 4GB 的临时文件,而不是填满整个硬盘。这样可以测试读写速度,但不会耗尽磁盘空间。
- -temp-path /tmp: 关键保护。强制将测试文件写在 /tmp 目录下。
- Linux 的 /tmp 通常挂载在内存(tmpfs)或系统盘中,系统重启会自动清理。
- 进阶技巧:如果你不想伤硬盘,可以将此路径指向一个挂载在内存的目录(如 /dev/shm),那样就完全不写物理磁盘,只测 IO 控制器(但这样就测不到真实磁盘了)。
- -timeout 30m: 运行 30 分钟后自动停止。你可以改为 1h(1小时)或 0(无限运行,直到你按 Ctrl+C)。
- -metrics-brief:
- 在测试结束时输出一个简短的报告,告诉你测试期间的性能数据。
3. s-tui监视界面
在运行stress-ng压力测试软件后,可以通过开启另外一个终端界面来监控系统的状态,界面如下:

可以查看CPU的温度、频率,利用率。
3.1. Temp (温度监控)
这一列显示系统各个部位的温度传感器。在压力测试中,这是最重要的一列。
- PackageId0, 0: 这是整个 CPU 封装(物理 CPU)的温度。
- 重点关注:做压力测试时,主要看这一项。如果它接近 90°C 或 100°C,说明散热可能撑不住了。
- Core X, 0 (如 Core0, Core8...): 这是 CPU 内部各个具体核心的温度。
- 你会发现这里显示的不是连续的(比如有 Core8, Core12...),这是因为某些 CPU 架构只会在特定的物理位置放置传感器,或者多个逻辑核心共享一个物理核心的温度传感器。
- Acpitz, 0: 通常指主板上的 ACPI 热区温度(可能是主板芯片组或插槽附近)。
- Composite, 0: 这是一个综合温度读数(通常是多个传感器的加权平均或最高值)。
3.2. Frequency (频率监控)
这一列显示 CPU 的运行频率(MHz/GHz)。
- Avg: 所有核心的平均频率。
- Core 0 - Core 31: 每个独立逻辑核心的实时频率。
- 压力测试时的作用:用来观察是否发生降频(Throttling)。
- 正常情况:压力测试开始后,频率应该稳定在一个高值(比如基频或全核睿频)。
- 异常情况:如果温度(Temp)飙升,而这里的频率突然大幅下降(例如从 3.0GHz 掉到 800MHz),说明 CPU 因为过热触发了保护机制,正在强制降频。
3.3. Util (使用率监控)
这一列显示 CPU 的负载百分比。
- Avg: 全局平均使用率。
- Core 0 - Core 31: 每个核心的使用率。
- 压力测试时的作用:用来验证测试命令是否生效。
- 如果你运行了 stress-ng,这里的所有核心(或者你指定的核心)应该显示为 100%。如果只有 50% 或更低,说明压力不够,或者被其他瓶颈(如内存带宽)卡住了。
3.4. 内存的使用情况
安装htop工具来看看内存使用情况等信息。
另外开启一个终端运行
得到以下界面

4. 测试报告
这里给出一个测试报告内容的解释
这份 stress-ng 的测试报告显示你的系统顺利完成了 1 分钟的混合压力测试。结论是:系统在 CPU 满载、内存高占用和高强度磁盘读写的混合压力下表现稳定,且磁盘读写速度相当快。
下面我为你逐行解读这份报告的含义:
4.1. 测试环境确认 (Info 部分)
dispatching hogs: 32 cpu, 1 vm, 1 hdd- 32 cpu: 系统识别出你有 32 个逻辑核心(可能是 16核32线程,或者 32个物理核),并且全部参与了满载测试。
- 1 vm: 启动了一个内存压力进程(占用 85% 内存)。
- 1 hdd: 启动了一个磁盘读写进程(限制在 4GB 文件大小)。
- 状态: 正常启动,没有报错。
4.2.核心性能指标 (Metrics 表格)
表格中的 "bogo ops" 是 stress-ng 自定义的“伪操作次数”(Bogus Operations),数值越大代表处理的任务越多,性能越强。
CPU 行
cpu 2018839 ... 1773.51 (usr time)- 解读: 在 60 秒内,CPU 完成了约 200 万次 基础运算循环。
- 关键点: 注意看 usr time(用户态时间)是 1773.51秒,而 real time(真实流逝时间)只有 60.02秒。
- 。
- 这意味着你的 32 个核心确实都在并行工作(数值接近 32 说明并行效率很高,有一点损耗是正常的系统开销)。
VM 行 (内存)
vm 1123178 ...- 解读: 内存测试进程完成了约 112 万次 的分配/写入/释放循环。
- 结论: 内存吞吐量很大,且在 85% 的高占用下没有被系统杀掉,说明内存控制器和系统稳定性良好。
HDD 行 (磁盘)
hdd 669902 ...- 解读: 磁盘进程完成了约 67 万次操作。具体速度看下面的详细数据。
4.3. 磁盘速度详解 (Miscellaneous Metrics)
可以通过以下命令,查看/tmp时挂在在内存还是磁盘,以下命令输出显示/tmp目录是落在了物理磁盘的。
这是最直观反映硬盘性能的部分:
- 解读:
- 你的磁盘读写速度均达到了 1.2 GB/s (1200 MB/s) 左右。
- 评价: 这是一个非常快的速度。
- 如果你是 SATA SSD(通常上限 550MB/s),这个数据说明系统使用了大量的 RAM Cache (内存缓存) 来加速写入,因为数据还没来得及落盘就被读出来了(因为我们之前限制了 4GB 文件,内存够大时系统会偷懒)。
- 如果你是 NVMe SSD,这个速度是符合预期的(中端 NVMe 速度),且表现非常强劲。
- 注意: 这个速度是在 CPU 和内存同时满载的情况下测得的,说明系统的 IO 调度能力很强,没有因为 CPU 忙不过来而导致磁盘降速。
4.4. 总结
- 测试结果: PASS (通过)。
- successful run completed: 没有任何进程崩溃,没有触发 OOM (内存溢出),没有 I/O 错误。
- 系统状况:
- 你的 32 核 CPU 算力释放充分。
- 内存虽然被占用了 85%,但依然能支撑高速的磁盘缓存和 CPU 调度。
- 散热情况:你可以回忆一下刚才测试时风扇是否起飞,如果刚才没死机,说明散热也能压住这 1 分钟的爆发。