This is an old revision of the document!
Isolating and Testing RAM Sticks in Ubuntu
This guide explains how to:
- Boot using only one RAM stick (by reserving other address ranges via
memmap=) - Test the remaining sticks with
memtesterinside the OS - Cycle through all sticks, including the originally “known good”
- Reset to the normal configuration afterwards
1. Finding a Bootable Stick
If you are unsure which RAM stick works:
- Power down and remove all but one stick
- Insert into the primary DIMM slot (usually nearest the CPU — see your motherboard manual)
- Attempt to boot
- If the system posts and loads an OS, mark this stick bootable
- If not, swap in another stick and repeat until one works
(For more on this isolation method, see corsair.com)
2. Determine Memory Layout
- With only the bootable stick installed, boot Ubuntu.
- Check stick size and slot mapping:
dmidecode --type memory - Record:
- Size of the good stick (e.g. 8 GiB)
- Number and sizes of all sticks when installed
3. Reserve the Other Sticks' Address Space
- Install all sticks.
- Edit GRUB:
sudo nano /etc/default/grub
In:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
append:
memmap=<SIZE>$<START>
Where:
- SIZE = total capacity of sticks to test
- START = address immediately after the main stick's range
Example (8 GiB good stick, 24 GiB to test):
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash memmap=24G$8G"
4. Save, update GRUB, reboot:
sudo update-grub sudo reboot
Sidenote on update-grub:
After editing /etc/default/grub, running update-grub ensures the new memmap parameter is written to /boot/grub/grub.cfg. Without this step, changes won't apply on reboot.
Verification: After rebooting, check reserved memory with:
dmesg | grep -i memmap # Kernel log should show reserved regions free -h # Available RAM should reflect the exclusion
4. Verify Isolation
free -h
Should show only the good stick's capacity as usable by the OS.
5. Test the Other Sticks In‑OS
Install and run:
sudo apt install memtester memtester <SIZE-TO-TEST>M 1
Where SIZE-TO-TEST ≈ reserved size.
Runtime note:
memtesterinside Ubuntu can complete a pass over a portion of RAM in minutes to under an hour, depending on size tested — it only tests memory the OS can allocate at runtime (repair.wiki)Memtest86+at boot is much slower — several passes can take many hours or overnight (rtech.support), but it is far more thorough
6. Cycling Through Sticks
Once a stick passes the in‑OS test:
- Shut down
- Move this passing stick into the main slot
- Move the previously main stick into the test slots
- Update the
memmapparameters accordingly (good stick's size / address) - Repeat testing
This way, you can eventually test every stick, including the one you started with.
7. Restore Normal Operation
1. Edit /etc/default/grub and remove memmap=…
2. Update GRUB and reboot:
sudo update-grub sudo reboot
3. Verify all RAM is detected:
free -h
8. Tips
- ECC RAM: Check
journalctl -k | grep -i edacfor logged correctable errors - Label defective sticks immediately
- If several sticks fail in the same slot, suspect the slot or motherboard
- See corsair.com for more on physically testing one stick at a time