Program Mcelog
Procesory X86 zgłaszają, że rozpoznały błąd zwany Machine Check Events (MCEs). Błędy tego typu mogą oznaczać błąd cache'a CPU lub pamięci. Możliwą przyczyną takiego błędu może być miedzy innymi kosmiczne promieniowanie lub problemy z chłodzeniem. Większość błędów tego typu może zostać skorygowana przez procesor, nienaprawialne błędy powodują natomiast tak zwane Machine Check Exceptions, które mogą spowodować kernel panic. User-Space Service mcelog dekoduje logi Machine Check jądra Linuksa systemów x86 i umożliwia w ten sposób lepszą analizę takich problemów.
Instalacja mcelog
W większości dystrybucji Linuksa dostępne są pakiety mcelog. W Ubuntu instalacja programu może zostać łatwo przeprowadzona np. następującą komendą:
$ sudo apt-get install mcelog
Po zakończeniu instalacji mcelog działa jako usługa i w przypadku wystąpienia awarii sprzętu zapisuje o tym informacje w pliku /var/log/mcelog:
$ ps -ef | grep -i mcelog root 22462 1 0 13:36 ? 00:00:00 /usr/sbin/mcelog --daemon $ ls -l /var/log/mcelog -rw-r--r-- 1 root root 0 Mar 13 13:36 /var/log/mcelog
Przykład udokumentowanego błędu
W poniższym przykładzie widoczny jest błąd, który został udokumentowany przez mcelog w /var/log/mcelog. W tym przypadku jest to błąd cache'a Level-2 w procesorze:[1]
Hardware event. This is not a software error. MCE 0 CPU 0 BANK 5 MISC 178a0000086 ADDR fef873c0 TIME 1468330671 Tue Jul 12 21:37:51 2016 MCG status: MCi status: Error overflow Uncorrected error MCi_MISC register valid MCi_ADDR register valid Processor context corrupt MCA: corrected filtering (some unreported errors in same region) Generic CACHE Level-2 Generic Error STATUS ee0000000040110a MCGSTATUS 0 MCGCAP c07 APICID 0 SOCKETID 0 CPUID Vendor Intel Family 6 Model 69
Odnośniki
- ↑ mcelog Hardware Error events (bbs.archlinux.org, 12.07.2016)
Dodatkowe informacje
- mcelog (github.com/andikleen)
- mcelog Website (www.mcelog.org)
- mcelog: memory error handling in user space (halobates.de)
- What are Machine Check Exceptions (or MCE)? (www.advancedclustering.com)
- check_mcelog (github.com/solarkennedy) Plugin do monitoringu pliku /var/log/mcelog poprzez Icinga albo Nagios
Autor: Werner Fischer