我认为我的带有焊接 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
是正确的吗?
是的,你可以尝试一下。
检查
/proc/cmdline
是否正确传递,以确保 Grub 不会弄乱字符$
,否则添加\
转义字符。Grub 中也有badram 支持(如果使用的话,则位于 /etc/default/grub 中的 GRUB_BADRAM
grub-mkconfig
)。但是否有效还需要测试。保留范围应显示在
/proc/iomem
(仅针对根显示的范围)中。如果您的内核有,另一个选择
CONFIG_MEMTEST=y
是尝试memtest=17
参数。然后检查dmesg
测试结果,并EarlyMemtestBad
在/proc/meminfo
. 这样,内核会在每次启动时测试内存,并自动保留不良范围。然而,只有当您的 RAM 以某种方式出现故障且始终能够可靠地检测到时,此方法才有效。它还会减慢启动过程。(内核只进行简单的模式测试,需要几秒钟)。
您还可以使用 测试用户空间中的内存
memtester
。