If linux encounters machine check exception it logs it to a syslog/debug log.
mcelog utility can be used to debug it:
git clone github.com/andikleen/mcelog.git↗
make
It can either load it from logs or parse it from stdin like so (CPU is 0x6e8) model fam is specified:
./mcelog --intel-cpu 6,14 --ascii mcelog: Cannot open /dev/mem for DMI decoding: Permission denied Jan 11 14:29:53 yonah kernel: [ 0.161089] mce: [Hardware Error]: CPU 0: Machine Check: 0 Bank 0: f200084000000800Jan 11 14:29:53 yonah kernel: [ 0.161089] mce: [Hardware Error]: Hardware event. This is not a software error. CPU 0 BANK 0 MCG status: MCi status: Error overflow Uncorrected error Error enabled Processor context corrupt MCA: BUS error: -1 0 Level-0 Local-CPU-originated-request Generic Memory-access Request-did-not-timeout BQ_DCU_READ_TYPE BQ_ERR_HARD_TYPE BQ_ERR_HARD_TYPE timeout BINIT (ROB timeout). No micro-instruction retired for some time failure that caused IERR STATUS f200084000000800 MCGSTATUS 0
OR:
./mcelog --intel-cpu 6,14 --ascii mcelog: Cannot open /dev/mem for DMI decoding: Permission denied CPU 0: Machine Check: 0 Bank 4: b200000000040151 Hardware event. This is not a software error. CPU 0 BANK 4 MCG status: MCi status: Uncorrected error Error enabled Processor context corrupt MCA: Instruction CACHE Level-2 Instruction-Fetch Error STATUS b200000000040151 MCGSTATUS 0
The author is not affiliated with, endorsed by, or sponsored by Intel Corporation or its affiliates. All trademarks, including but not limited to Intel, Pentium, and any other registered or unregistered marks mentioned herein, are the property of their respective owners. Their use in this context is solely for descriptive and informational purposes and constitutes nominative fair use under applicable trademark laws.