当前位置:首页>Linux>【linux系统】使用mbw命令进行内存带宽测试

【linux系统】使用mbw命令进行内存带宽测试

  • 2026-10-11 08:42:55
【linux系统】使用mbw命令进行内存带宽测试

mbw 命令最全教程(linux操作系统内存测试专用)

mbw 是 Linux 内存带宽测试工具,专门测:内存读写速度、拷贝速度你在 国产笔记本台式机、NAS、工控机、服务器上测内存性能必用!本文章直接给你 最简单、最实用、能直接用 的教程👇

一、先确认:mbw 是什么?

mbw 是 Linux 上的 内存带宽测试工具,专门测:

  • 内存拷贝带宽(memcpy)
  • 缓存 / 内存控制器性能
  • 多线程内存吞吐能力

最关键的指标是 MEMCPY 方法的平均带宽。


二、安装 mbw

如果你的系统是 Debian/Ubuntu 系(大部分 NAS 都是):

运行

apt updateapt install -y mbw

安装完成后,直接在命令行敲 mbw 就能看到帮助信息。

三、 mbw的三个参数-n、-t、-a (3 个参数的真正含义)

参数
英文全称
真正作用
你可以理解成
-a
all
跑全部 3 种测试方法
(MEMCPY + DUMB + MCBLOCK)
全部都测一遍
-n 数字
number
选择跑哪几种测试方法
(不是只跑一种!)
选测试模式
-t 秒数
time
测试持续多少秒
(不是跑多少次!)
跑多久

逐行讲清楚(超级简单)

1)-a = 跑全部测试(默认就是这个)

plaintext

mbw -a 1024

意思:

  • 跑 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

mbw -n 1 1024

= 跑 MEMCPY + DUMB不是只跑 MEMCPY!


3)-t = 测试持续时间(秒)

不是循环次数!不是跑多少次!

plaintext

mbw -t 10 1024

意思:持续测试 10 秒

你之前写:

plaintext

mbw -t 600

= 连续跑 600 秒(10 分钟)


【最关键总结】

✔ -a:全部测试(3 种)

✔ -n:选哪几种测试(不是只跑 1 个)

✔ -t:跑多少秒(不是跑多少次)

四、mbw内存带宽测试命令

【1.最简单直接的测试命令(直接复制)】

1. 通用内存带宽测试(推荐)

bash

运行

mbw -t 10 256
  • -t 10
    :测试 10 秒
  • 256
    :使用 256MB 内存测试(不卡系统)

2. 测完整三种算法(最准确)

bash

运行

mbw -a 256

3. 只测内存拷贝(最常用)

bash

运行

mbw -n 1 512

【2.常用测试命令(按使用场景分)】

1️⃣ 快速测试(推荐新手)

适合日常快速验证内存是否正常,不占太多系统资源:

运行

# 测试:256MB 内存块,10次循环mbw -t 10 256
  • -t 10
    :循环测试 10 次
  • 256
    :每次测试使用 256MB 内存
  • 重点看 MEMCPY 方法的 AVG 平均带宽

2️⃣ 标准全面测试(和你之前的结果一样)

跑全三种算法(MEMCPY / DUMB / MCBLOCK),更贴近真实场景:

运行

mbw -a 512
  • -a
    :启用所有测试方法
  • 512
    :使用 512MB 内存(比 256 更接近真实负载)

3️⃣ 只测最关键的 MEMCPY(重点推荐)

DUMB 和 MCBLOCK 会吃 CPU 缓存,数值虚高,实际只看 MEMCPY 就够:

运行

# 只跑 MEMCPY 方法,1024MB 内存,10次循环mbw -n 1 -t 10 1024
  • -n 1
    :只启用 MEMCPY 方法
  • 1024
    :使用 1GB 内存(更能反映真实内存带宽,不受小缓存影响)

4️⃣ 长时间稳定性测试(量产 / 压力测试用)

运行

# 持续测试 60 秒,1GB 内存块mbw -n 1 -t 60 1024

看整个过程中带宽是否稳定,不出现大幅波动或掉速。

【3.一键标准测试命令】

bash

运行

mbw -t 10 -n 1 512

跑 10 秒、512M 大小、只跑一遍,最稳不卡系统。


五、怎么看懂输出结果?

典型输出结构如下:

plaintext

Method: MEMCPYElapsed: 0.1200sMiB: 1024.0000Copy: 7800.12 MiB/s

表格

字段
含义
重点看什么
Method
测试方法
只看 MEMCPY
Elapsed
耗时
时间越短,带宽越高
MiB
测试内存大小
越大越接近真实带宽
Copy
拷贝带宽(MiB/s)
越大越好,取 10 次的 AVG

输出结果什么意思?

输出会显示 3 种测试方式:

plaintext

Method: MEMCPYBytes: 268.4 MiBTime: 0.1200sAverage: 2240.1 MB/s

三种测试含义

  1. MEMCPY
    :标准内存拷贝(最真实)
  2. DUMB
    :简单循环拷贝
  3. MCMP
    :多线程拷贝

看 MEMCPY 那一行就行!数值越大 = 内存带宽越快


六、怎么判断结果是否正常?

1. 核心标准:只看 MEMCPY 的平均带宽

不同配置的参考值(单通道 DDR4):

表格

内存配置
正常 MEMCPY 带宽
DDR4-2400 单通道
5500–6500 MiB/s
DDR4-2666 单通道
6000–7000 MiB/s
DDR4-3200 单通道
7000–8000 MiB/s

你之前的结果在 7800–7900 MiB/s,属于 DDR4-3200 单通道的优秀水平 ✅

2. 异常情况(出现以下情况要排查)

  • MEMCPY 带宽远低于 5000 MiB/s
    :可能是内存降频、BIOS 设置错误、硬件故障
  • 不同内存块(256/512/1024MB)结果差异巨大
    :可能是带宽被其他设备抢占
  • 结果波动极大
    :比如一次 7000,一次 3000,说明电源不稳或内存兼容性问题

七、测试小建议

  1. 测试前尽量关闭占用内存 / CPU 的程序,比如 NAS 的 RAID 同步、备份任务
  2. 优先用 mbw -n 1 -t 10 1024 跑,结果最稳、最有参考价值
  3. 测试时不要同时跑 dd 硬盘读写,避免干扰内存测试

八、实际项目mbw命令测试内存带宽结果

最新文章

随机文章