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
1. With only the bootable stick installed, boot Ubuntu.
2. Check stick size and slot mapping:
sudo dmidecode --type memory
3. 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
1. Install all sticks. 2. Edit GRUB:
sudo nano /etc/default/grub
3. 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