跳转到内容

Windows 内存诊断工具与 memtest:从现象到 RMA

核验于 3 分钟阅读

跑 mdsched、从事件查看器读结果,再判断一次通过够不够、什么时候要上 MemTest86,以及怎么隔离到内存条、槽位或 CPU 内存控制器。

测试环境Pro (26H2) · 版本号 26300.9457 · x64
E1
版本号
26300.9457
版本
Pro (26H2)
架构
x64
支持
文档(E1)
证据
E1官方文档
核验日期
2026-10-29
页面类型
排障

坏内存很少自报家门,它表现为随机且会转移的故障:

  • 每次蓝屏码都不一样(0x1A、0x50、0x3B、0x124);
  • 应用在不同 DLL 里崩溃;
  • 安装程序报校验和错误;
  • 文件静默损坏。

方法是:先证明是内存,再隔离是哪一条,最后判断是条子、槽位还是 CPU。

在怪内存条之前,先查看起来一模一样的问题:

终端窗口
Get-PhysicalDisk | Select-Object FriendlyName,HealthStatus,OperationalStatus
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='disk','Ntfs','volmgr'} -MaxEvents 20 |
Select-Object TimeCreated,ProviderName,Id,LevelDisplayName
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-WHEA-Logger'} -MaxEvents 20 |
Select-Object TimeCreated,Id,LevelDisplayName,Message

有坏道的 SSD 会产生校验失败和蓝屏,看起来和坏内存完全一样。先看 SMART——比跑内存测试快得多。

内存故障与负载、温度相关。待机一小时能过的机器,真实工作一小时后可能就崩。

用会大量触碰内存的负载:

  • 大型编译或解压;
  • 分配固定内存的虚拟机;
  • 多轮内存测试。

记录你当时在做什么、多久崩溃。开机三分钟就崩,和四小时后才崩,是两类不同的问题。

两种选择:

  • Windows 内测试(快、可信度低):Windows 内存诊断安排在下次启动时跑。方便,但用的是运行中系统的内存映射。
  • 启动盘测试(慢、可信):过夜跑多轮完整测试。一轮不算结论。

跑 Windows 内存诊断,并读出结果

Section titled “跑 Windows 内存诊断,并读出结果”
终端窗口
mdsched.exe

选「立即重启并检查问题」,或安排下次启动时执行。测试在 Windows 之外运行,处在预启动环境里,没有驱动跟它抢内存——这就是它比任何系统内检测工具都可信的原因。

结果会在下次启动后写入系统日志:

终端窗口
Get-WinEvent -LogName System -MaxEvents 500 |
Where-Object { $_.ProviderName -match 'MemoryDiagnostic' } |
Select-Object TimeCreated,Id,LevelDisplayName,Message | Format-List
事件 ID 含义
1201 测试完成且发现错误
1101 测试开始/记录配置

通过时根本不会产生 1201 事件。没有「未发现错误」这种消息可找——错误事件不存在,就是通过。多数教程把这件事说反了。

一次通过不能证明什么:只有反复读写才失效的边缘单元、不稳定的 XMP/EXPO 配置(该测试跑在默认频率)、需要升温才出现的故障,以及到底是哪一条内存有问题。所以第三步还要继续用可启动测试器。

让结果有意义的测试规则:

  1. 一次只测一条,插在主槽位。
  2. 在默认频率下测(关 XMP)。开着 XMP 你测的是超频,不是内存条。
  3. 测几小时,不是几分钟。
  4. 原样记录错误——地址、测试项、第几轮。
结果 结论
同一条在任何槽位都报错 条子坏了,更换
任何条子插某个槽位才报错 槽位或走线问题,可能的话换板验证
所有条子、所有槽位都报错 CPU 内存控制器、固件或供电
只有插满时才报错 控制器负载/rank 限制;减少插条或降频
只有开 XMP 才报错 配置在该平台上不稳,见 XMP

换硬件之前先更新固件。内存训练与兼容性修复出现在 BIOS/UEFI 更新里的频率,比多数人以为的高。

保修部门会拒绝含糊的说法。保留:

  • 具体故障(蓝屏码、事件日志、截图);
  • 内存测试日志(轮次、出错地址);
  • 故障时的配置(频率、槽位、XMP 状态);
  • 内存条料号与序列号;
  • 已排除的项(SSD、电源、驱动)。
  1. 新条单独测,默认频率,多轮。
  2. 一条一条把其余内存加回去。
  3. 只有确实需要才重新开 XMP,并重跑验证。
  4. 观察 WHEA 一周。

E1。流程来自微软(WHEA、内存诊断)与平台厂商的标准做法。实验室无法给虚拟机注入内存故障,因此没有复现坏内存条。

来源