BadRAM Range: cannot set up the right range

I think my MacBook with soldered RAM has a RAM issue. 
With memtest86+, I figured out which BadRAM pattern I have,
but I cannot interpret the result correctly. 
How should I read the range to set up the right exclusion in GRUB?

Here are my memtest results:

BadRAM Patterns
---------------
badram=0x0000000058cb4000,0xfffffffffffffc00,
       0x0000000058cb4400,0xfffffffffffffc00,
       0x0000000058cb4800,0xfffffffffffffc00,
       0x0000000058cb4c00,0xfffffffffffffc00,
       0x0000000058cb5000,0xfffffffffffff800,
       0x0000000058cb5800,0xfffffffffffff800,
       0x0000000058cb6000,0xfffffffffffff800,
       0x0000000058cb6800,0xfffffffffffff800,
       0x0000000058cb7000,0xfffffffffffff800,
       0x0000000058cb7800,0xfffffffffffff800

    [Manually transcribed from this image.]

Would memmap=64K$0x58cb0000 be correct?

Asked By: devreklim

||

Yes, you can try it.

Check /proc/cmdline to see if it’s passed correctly, to make sure Grub doesn’t mess with the $ characters, otherwise add escape characters.

There is also badram support in Grub (GRUB_BADRAM in /etc/default/grub if you use grub-mkconfig). However it’s also necessary to test whether it’s effective.

The reserved range should show up in /proc/iomem (ranges shown only for root).

Another option, if your kernel has CONFIG_MEMTEST=y, is to try memtest=17 parameter. Then check dmesg for test results, and EarlyMemtestBad in /proc/meminfo. This way the kernel tests memory every time you boot up and automatically reserves bad ranges on its own.

However, this only works if your RAM is faulty in a certain way that is always detected reliably. It would also slow down the boot process some. (The kernel only does a simple pattern test, which takes a few seconds).

You can also test memory in userspace using memtester.

Answered By: frostschutz
Categories: Answers Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.