On Linux, the kernel writes messages about MCEs to the kernel message log and the system console. When the MCEs are not fatal, they will also typically be copied to the system log and/or systemd journal. For some systems, ECC and other correctable errors may be reported through MCE facilities. Example: CPU 0: Machine Check Exception: 0000000000000004 Bank 2: f200200000000863 Kernel panic: CPU context corrupt Problem types Some of the main hardware problems that cause MCEs include: System bus errors: (error communicating between the processor and the motherboard). Memory errors: parity checking detects when a memory error has occurred. Error correction code (ECC) can correct limited memory errors so that processing can continue. CPU cache errors in the processor. Possible causes Machine checks are a hardware problem, not a software problem. They are often the result of overclocking or overheating. In some cases, the CPU will shut itself off once passing a thermal limit to avoid permanent damage. But they can also be caused by bus errors introduced by other failing components, like memory or I/O devices. Possible causes include: Poor CPU cooling due to a CPU heatsink and case fans (or filters) that's clogged with dust or has come loose. Overclocking beyond the highest clock rate at which the CPU is still reliable. Failing motherboard. Failing processor. Failing memory. Failing I/O controllers, on either the motherboard or separate cards. Failing I/O devices. Inadequate or failing power supply. Cooling problems are usually obvious upon inspection. A failing motherboard or processor can be identified by swapping them with functioning parts. Memory can be checked by booting to a diagnostic tool, like memtest86. Non-essential failing I/O devices and controllers can be identified by unplugging them if possible or disabling the devices to see if the problem disappears. If the failures typically only occur fairly soon after the OS is booted or not at all or not for days, it may be suggestive of a power supply issue. With a power supply problem, the failure often occurs when power demand peaks as the OS starts up any external devices for use. Decoding MCEs For IA-32 and Intel 64 processors, consult the Intel 64 and IA-32 Architectures Software Developer's Manual Chapter 15 (Machine-Check Architecture), or the Microsoft KB Article on Windows Exceptions. Programs to decode Intel and AMD MCEs rasdaemon is a RAS (reliability, availability and serviceability) logging tool for Linux. It records memory