Quick answer for advanced users
Check system logs with edac-util on Linux or Event Viewer on Windows to find which DIMM has the most corrected errors. Replace that stick. The error means the memory controller is hitting its limit for correctable errors on that module.
What this error actually means
I know this error is infuriating — it usually appears in server logs or during boot, and it doesn't crash your system right away. That's the tricky part. Your ECC (Error Correcting Code) RAM is working as designed, but it's correcting so many single-bit errors that the memory controller says "enough." Think of it like a smoke detector going off because the battery is dying — the RAM isn't dead yet, but it's close.
This happens most often on older servers or workstations — think Dell PowerEdge R730, HP ProLiant DL380 Gen9, or any system using DDR3 or DDR4 ECC RAM with high uptime. The error trigger is usually a single DIMM that's degraded over time. I've seen it after a power surge, a hot shutdown, or just years of daily use. The memory controller keeps a count of corrected errors per DIMM. When that count hits a threshold (set by the manufacturer, usually around 1000 correctable errors per hour), it logs the "correction limit exceeded" message and starts throttling or logging uncorrectable errors.
Step-by-step fix
- Log into your system — physical access or remote management (iDRAC, iLO, IPMI).
- Check the system event log. On Linux, run
This shows corrected errors per DIMM slot. Look for a slot with a high number — like 5000+ corrected errors while others have under 100. On Windows, open Event Viewer, go to Windows Logs > System, and filter for source "WHEA-Logger" or "Microsoft-Windows-Kernel-WHEA." Look for Event ID 47 with description mentioning corrected machine check.sudo edac-util --report - Note the DIMM slot number. For example,
MC0: channel 0, slot 1means memory controller 0, channel 0, slot 1. Write down the exact slot label from your motherboard (like A1, B2). - Power down the system — not just reboot, but a full shutdown and unplug from power. Wait 30 seconds.
- Replace that specific DIMM. Remove the failing stick. Insert a known-good replacement of the same type (same speed, same rank, same size, same voltage). Don't mix brands — use the same manufacturer and part number if possible.
- Boot up and verify. Run
edac-util --reportagain or check Event Viewer. The error count for that slot should reset to zero. Also runsudo dmidecode --type 17to confirm the new DIMM is detected correctly.
If the main fix doesn't work
Sometimes you replace the DIMM and the error persists. Here's what to try next:
- Reseat all DIMMs — remove each stick, blow out the slot with compressed air, and reinsert. Dust can cause intermittent errors.
- Update the BIOS/UEFI firmware. Yes, I know it's boring. But I've seen a BIOS update from Dell (version 2.12.0 on the R730) fix false ECC thresholds. Check your motherboard vendor's support site.
- Check the memory controller itself — if you have multiple DIMMs per channel, try moving the suspected bad slot's replacement to another channel. If the error follows, it's the DIMM. If not, it's the motherboard slot or the memory controller. That's a motherboard replacement scenario.
- Lower the memory speed in BIOS. For DDR4, drop from 2400 MHz to 2133 MHz. This reduces stress on the controller and can quiet down borderline errors. It's a temporary bandage, not a fix.
Prevention tips
You can avoid this error in the future:
- Monitor corrected errors monthly. Set up a cron job on Linux to email you
edac-util --reportoutput. On Windows, schedule a PowerShell script that checks the WHEA log for Event ID 47. Catch it early. - Don't skip firmware updates. Memory controllers get better error handling with newer firmware. Check every 6 months.
- Use matching DIMMs from the same batch. I know it's expensive, but buying RAM kits (not individual sticks) for servers reduces electrical mismatch.
- Keep your server cool. ECC errors skyrocket above 40°C ambient. If your server room hits 45°C, you'll see this error more often. Check your intake temps.
A friend of mine ignored this error for 3 months on a file server. One day it turned into an uncorrectable error and corrupted the ZFS pool. Don't be that person. Replace the stick as soon as you see the alert.