我认为我的带有焊接 RAM 的 MacBook 有 RAM 问题。使用 memtest86+,我找出了我拥有的 BadRAM 模式,但我无法正确解释结果。我应该如何读取范围以在 GRUB 中设置正确的排除?
这是我的内存测试结果:
BadRAM Patterns
---------------
badram=0x0000000058cb4000,0xfffffffffffffc00,
0x0000000058cb4400,0xfffffffffffffc00,
0x0000000058cb4800,0xfffffffffffffc00,
0x0000000058cb4c00,0xfffffffffffffc00,
0x0000000058cb5000,0xfffffffffffff800,
0x0000000058cb5800,0xfffffffffffff800,
0x0000000058cb6000,0xfffffffffffff800,
0x0000000058cb6800,0xfffffffffffff800,
0x0000000058cb7000,0xfffffffffffff800,
0x0000000058cb7800,0xfffffffffffff800
[手动转录自这个图片.]
会memmap=64K$0x58cb0000
是正确的吗?
答案1
是的,你可以尝试一下。
检查/proc/cmdline
是否正确传递,以确保 Grub 不会弄乱$
字符,否则添加\
转义字符。
还有Grub 中的 badram 支持(如果您使用 GRUB_BADRAM,则位于 /etc/default/grub 中grub-mkconfig
)。但是否有效还需要测试。
保留范围应显示在/proc/iomem
(仅针对根显示的范围)中。
如果您的内核有CONFIG_MEMTEST=y
,另一个选择是尝试memtest=17
参数。然后检查dmesg
测试结果,并EarlyMemtestBad
在/proc/meminfo
.这样,内核会在每次启动时测试内存,并自动保留不良范围。
然而,只有当您的 RAM 以某种方式出现故障且始终能够可靠地检测到时,此方法才有效。它还会减慢启动过程。 (内核只进行简单的模式测试,需要几秒钟)。
您还可以使用 测试用户空间中的内存memtester
。