mbw 命令最全教程(linux操作系统内存测试专用)
mbw 是 Linux 内存带宽测试工具,专门测:内存读写速度、拷贝速度你在 国产笔记本台式机、NAS、工控机、服务器上测内存性能必用!本文章直接给你 最简单、最实用、能直接用 的教程👇
一、先确认:mbw 是什么?
mbw 是 Linux 上的 内存带宽测试工具,专门测:
最关键的指标是 MEMCPY 方法的平均带宽。
二、安装 mbw
如果你的系统是 Debian/Ubuntu 系(大部分 NAS 都是):
运行
apt updateapt install -y mbw
安装完成后,直接在命令行敲 mbw 就能看到帮助信息。
三、 mbw的三个参数-n、-t、-a (3 个参数的真正含义)
| | 真正作用 | |
|---|
| -a | | 跑全部 3 种测试方法(MEMCPY + DUMB + MCBLOCK) | |
| -n 数字 | | 选择跑哪几种测试方法 | |
| -t 秒数 | | 测试持续多少秒 | |
逐行讲清楚(超级简单)
1)-a = 跑全部测试(默认就是这个)
plaintext
意思:
- 跑 3 种方法:MEMCPY、DUMB、MCBLOCK
你不用加 -a,直接 mbw 1024 也是跑全部。
2)-n = 选择测试方法(最容易误解!)
-n 不是 “只跑第 N 个”!它是选择跑哪几个!
规则固定死:
plaintext
-n 0 → 只跑 DUMB-n 1 → 跑 MEMCPY + DUMB-n 2 → 跑 MEMCPY + DUMB + MCBLOCK(全部)
所以:
plaintext
= 跑 MEMCPY + DUMB不是只跑 MEMCPY!
3)-t = 测试持续时间(秒)
不是循环次数!不是跑多少次!
plaintext
意思:持续测试 10 秒
你之前写:
plaintext
= 连续跑 600 秒(10 分钟)
【最关键总结】
✔ -a:全部测试(3 种)
✔ -n:选哪几种测试(不是只跑 1 个)
✔ -t:跑多少秒(不是跑多少次)
四、mbw内存带宽测试命令
【1.最简单直接的测试命令(直接复制)】
1. 通用内存带宽测试(推荐)
bash
运行
2. 测完整三种算法(最准确)
bash
运行
3. 只测内存拷贝(最常用)
bash
运行
【2.常用测试命令(按使用场景分)】
1️⃣ 快速测试(推荐新手)
适合日常快速验证内存是否正常,不占太多系统资源:
运行
# 测试:256MB 内存块,10次循环mbw -t 10 256
2️⃣ 标准全面测试(和你之前的结果一样)
跑全三种算法(MEMCPY / DUMB / MCBLOCK),更贴近真实场景:
运行
-a512:使用 512MB 内存(比 256 更接近真实负载)
3️⃣ 只测最关键的 MEMCPY(重点推荐)
DUMB 和 MCBLOCK 会吃 CPU 缓存,数值虚高,实际只看 MEMCPY 就够:
运行
# 只跑 MEMCPY 方法,1024MB 内存,10次循环mbw -n 1 -t 10 1024
-n 11024:使用 1GB 内存(更能反映真实内存带宽,不受小缓存影响)
4️⃣ 长时间稳定性测试(量产 / 压力测试用)
运行
# 持续测试 60 秒,1GB 内存块mbw -n 1 -t 60 1024
看整个过程中带宽是否稳定,不出现大幅波动或掉速。
【3.一键标准测试命令】
bash
运行
跑 10 秒、512M 大小、只跑一遍,最稳不卡系统。
五、怎么看懂输出结果?
典型输出结构如下:
plaintext
Method: MEMCPYElapsed: 0.1200sMiB: 1024.0000Copy: 7800.12 MiB/s
表格
输出结果什么意思?
输出会显示 3 种测试方式:
plaintext
Method: MEMCPYBytes: 268.4 MiBTime: 0.1200sAverage: 2240.1 MB/s
三种测试含义
- MEMCPY
- DUMB
- MCMP
看 MEMCPY 那一行就行!数值越大 = 内存带宽越快
六、怎么判断结果是否正常?
1. 核心标准:只看 MEMCPY 的平均带宽
不同配置的参考值(单通道 DDR4):
表格
你之前的结果在 7800–7900 MiB/s,属于 DDR4-3200 单通道的优秀水平 ✅
2. 异常情况(出现以下情况要排查)
- MEMCPY 带宽远低于 5000 MiB/s
- 不同内存块(256/512/1024MB)结果差异巨大
- 结果波动极大:比如一次 7000,一次 3000,说明电源不稳或内存兼容性问题
七、测试小建议
- 测试前尽量关闭占用内存 / CPU 的程序,比如 NAS 的 RAID 同步、备份任务
- 优先用
mbw -n 1 -t 10 1024 跑,结果最稳、最有参考价值 - 测试时不要同时跑
dd 硬盘读写,避免干扰内存测试
八、实际项目mbw命令测试内存带宽结果