This utility disables defective memory regions on Intel-based Macs to prevent system crashes or kernel panics caused by faulty RAM. It is not compatible with Apple Silicon Macs.
Chances are high, you can resolve the following error when executing this utility (automatically) before each macOS Boot:
- PPM002, PPM003, PPM004...: "There may be an issue with the onboard memory."
This tool fulfills the same purpose as the grub-badram command which disables RAM-Areas on Linux Systems.
- Intel-based Mac or MacBook
- Diagnostic tool like Memtest86+ to identify faulty memory addresses
- EFI boot manager like rEFInd
- Identify Faulty Memory: Run Memtest86+ in Error-Summary-Mode to note the lowest and highest addresses of defective RAM.
- Run Utility: Use rEFInd to execute this EFI utility before booting macOS. It marks faulty memory as unusable.
- Boot macOS: Start macOS normally.
- Verify: Check if memory is disabled by running:
Expected output:
sysctl -a | grep mem | grep Unusable
machdep.memmap.Unusable: <size_of_disabled_area> - Automate: Follow this guide to automate the process.
Use OpenCore Legacy Patcher to configure defective RAM areas. Verify compatibility here.
Tested on:
- MacBook Pro (Late 2013, macOS Big Sur)
- MacBook Pro (2019, 16") (see, and here)
- MacBook Pro (2020, macOS Sequoia) (see)
- Additional success stories on the Issues page
- Read the Release Notes and Discussions.
- For questions, open a new discussion.
- Share success stories here.
This utility is not affiliated with Apple Inc. Use at your own risk. The author is not responsible for any outcomes or time invested. Provided as-is, without warranties, for personal use only. A swollen battery can deform components, cause shorts, or catch fire. Ensure your RAM issues are not due to battery swelling pressing on the logic board.
Documentation of this function: gBS -> AllocatePages(2, 8, 40960, & Addr); efi-v1-10-specification.pdf Page: 119

