hardware:workflow:memtest

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
hardware:workflow:memtest [2025/08/11 11:00] fabriciohardware:workflow:memtest [2025/09/01 17:11] (current) – removed fabricio
Line 1: Line 1:
-====== 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 ''memtester'' **inside 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 [[https://help.corsair.com/hc/en-us/articles/14238510858637-RAM-How-to-Test-RAM-Modules-for-Memory-Issues|corsair.com]]) 
- 
-==== 2. Determine Memory Layout ==== 
- 
-  - With only the bootable stick installed, boot Ubuntu. 
-  - Check stick size and slot mapping: <code bash> dmidecode --type memory</code> 
-  - 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: <code bash> sudo nano /etc/default/grub </code> In: <code> GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"</code> append: <code>memmap=<SIZE>$<START></code> 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): 
-<code> 
-GRUB_CMDLINE_LINUX_DEFAULT="quiet splash memmap=24G$8G" 
-</code> 
- 
-4. Save, update GRUB, reboot: 
-<code bash> 
-sudo update-grub 
-sudo reboot 
-</code> 
- 
-**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: 
- 
-<code bash> 
-dmesg | grep -i memmap  # Kernel log should show reserved regions 
-free -h                 # Available RAM should reflect the exclusion 
-</code> 
- 
-===== 4. Verify Isolation ===== 
-<code bash> 
-free -h 
-</code> 
-Should show only the good stick's capacity as usable by the OS. 
- 
-===== 5. Test the Other Sticks In‑OS ===== 
-Install and run: 
-<code bash> 
-sudo apt install memtester 
-memtester <SIZE-TO-TEST>M 1 
-</code> 
-Where **SIZE-TO-TEST** ≈ reserved size. 
- 
-**Runtime note:** 
-  * ''memtester'' inside 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 ([[https://repair.wiki/w/Raspberry_Pi_RAM_Test|repair.wiki]]) 
-  * ''Memtest86+'' at boot is **much slower** — several passes can take **many hours or overnight** ([[https://rtech.support/docs/guides/memtest/memtest86|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 ''memmap'' parameters 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: 
-<code bash> 
-sudo update-grub 
-sudo reboot 
-</code> 
- 
-3. Verify all RAM is detected: 
-<code bash> 
-free -h 
-</code> 
- 
-===== 8. Tips ===== 
-  * ECC RAM: Check ''journalctl -k | grep -i edac'' for logged correctable errors 
-  * Label defective sticks immediately 
-  * If several sticks fail in the same slot, suspect the slot or motherboard 
-  * See [[https://help.corsair.com/hc/en-us/articles/14238510858637-RAM-How-to-Test-RAM-Modules-for-Memory-Issues|corsair.com]] for more on physically testing one stick at a time 
  • hardware/workflow/memtest.1754910055.txt.gz
  • Last modified: 2025/08/11 11:00
  • by fabricio