ESXi-Server werden aufgrund von MCE-Fehlern (Machine Check Exception, Machine Check Exception) möglicherweise mit einem violetten Diagnosebildschirm (PSOD) beendet. MCE-Fehler sind auf Hardwareprobleme zurückzuführen.
Der violette MCE-Diagnosebildschirm zeigt mehrere Dinge an. Von diesen ist das MCi_STATUS Register beim Debuggen des Problems nützlich.
Details zur Anmeldung:
Bits und ihre Bedeutung:
63 | 62 | 61 | 60 | 59 | 58 | 57 | 53-56 | 38-52 | 32-37 | 16-31 | 0-15 |
VALID-Flag – Wenn festgelegt, sind die Informationen gültig. | OVERFLOW-Markierung: Wenn diese Option festgelegt ist, kann dies darauf hindeuten, dass mehrere MCEs nahe beieinander aufgetreten sind | UNC-Markierung: Wenn diese Option festgelegt ist, konnte die CPU den Fehler nicht beheben. | EN-Flag | MISCV-Flag - Wenn gesetzt, enthält das MISC-Register mehr Informationen. | ADDRV: Wenn festgelegt, enthält das ADDR-Register den Ort, an dem der Fehler aufgetreten ist. | PCC-Flag – Wenn diese Option festgelegt ist, bedeutet dies, dass der Prozessor möglicherweise beschädigt wurde. | Architektonisch, wenn Bit 11 gesetzt ist, sonst "andere Informationen". | Architektonisch, wenn Bit 10 gesetzt ist, sonst "andere Informationen". | Weitere Informationen | Modellspezifischer Fehlercode für CPU | Fehlercode der maschinellen Überprüfung |
Um den Fehler zu beheben, sind die niedrigen 16 Bit des MCi_STATUS Registers wichtig. Diese Bits weisen auf einen einfachen oder zusammengesetzten Fehler hin.
Option 1: Verwenden des automatischen Tools
Option 2: Verwenden manueller Schritte
0000 0000 0000 0000 -- No Error reported to this bank of error-reporting registers. 0000 0000 0000 0001 -- Unclassified - Error has not been classified. 0000 0000 0000 0010 -- Parity error in internal microcode ROM. 0000 0000 0000 0011 -- External error-BINIT# from another processor caused this processor MCE. Happens only if BINIT# observation enabled during power on. 0000 0000 0000 0100 -- Functional redundancy check master/slave error. 0000 0000 0000 0101 -- Internal parity error. 0000 0000 0000 0110 -- SMM handler tried to execute outside the ranges specified by SMRR. 0000 0100 0000 0000 -- Internal timer error. 0000 1110 0000 1011 -- I/O error. 0000 01xx xxxx xxxx -- Internal unclassified error. Atleast one X must be equal to 1.
000F 0000 0000 11LL - Generic Cache Hierarchy error. 000F 0000 0001 TTLL - {TT}TLB{LL}_ERR. TLB errors. 000F 0000 1MMM CCCC - {MMM}_Channel{CCCC}_ERR - Memory controller errors. 000F 0001 RRRR TTLL - {TT}CACHE{LL}_{RRRR}_ERR - Cache Hierarchy errors. 000F 1PPT RRRR IILL - BUS{LL}_{PP}_{RRRR}_{II}_T_ERR - Bus and Interconnect errors.
0 – Normal Filtering
1 – Corrected Filtering
Filtern bedeutet, dass einige oder alle nachträglichen Korrekturen an diesem Eintrag in dieser Struktur nicht gebucht werden.
Gibt die Art der Transaktion an:
00 - Instruction
01 - Data
10 - Generic
Gibt die Ebene in der Speicherhierarchie an, auf der der Fehler aufgetreten ist
00 - Level 0 - L0
01 - Level 1 - L1
10 - Level 2 - L2
11 - Generic – LG (It is shown only when processor cannot determine the hierarchy level)
0000 - Generic Error - ERR 0001 - Generic Read - RD 0010 - Generic Write - WR 0011 - Data Read - DRD 0100 - Data Write - DWR 0101 - Instruction Fetch - IRD 0110 - Prefetch - PREFETCH 0111 - Eviction - EVICT 1000 - Snoop - SNOOP
00 - SRC - Local processor originated request 01 - RES - Local processor responded to request 10 - OBS - Local processor observed error as third party 11 - Generic
00 - M - Memory Access 10 - IO - I/O 01 - Reserved 11 - Other transaction
000 - GEN - Generic undefined request 001 - RD - Memory read error 010 - WR - Memory write error 011 - AC - Address/Command error 100 - MS - Memory Scrubbing error 101-111 - Reserved
0000-1110 - CHN - Channel number
1111 - Channel not specified
Hier ist ein Beispiel für die Analyse eines violetten MCE-Diagnose-Screenshots:
1111 1110 0010 0000 0000 0000 0100 0000 0000 0000 0000 0001 0001 0001 0110 0110
0001 0001 0110 0110
Vergleichen Sie es mit den zusammengesetzten Fehlern. In diesem Fall scheint es sich um einen Cachehierarchiefehler (Typ 4) zu handeln.
F = 1 RRRR = 0110 – Prefetch TT = 01 – Transaction type - Data LL = 10 – Level 2 cache
Fazit: