No Data Available" message in Hardware Status tab of ESXi host
search cancel

No Data Available" message in Hardware Status tab of ESXi host

book

Article ID: 344637

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Bei Machine Check Architecture handelt es sich um einen Mechanismus innerhalb einer CPU, mit dem Hardwareprobleme erkannt und gemeldet werden können. Wenn ein Problem erkannt wird, wird eine Maschinenprüfausnahme (Machine Check Exception, MCE) ausgegeben. Falls eine MCE ausgegeben und ein violetter Diagnosebildschirm angezeigt wird, ist ein Hardwareproblem die Ursache. Es gibt keine andere Möglichkeit, eine MCE zu generieren.

Wenn im System ein violetter Bildschirm mit Fehlern angezeigt wird, erfassen Sie die Bildschirmausgabe und starten Sie dann den Server neu. Nehmen Sie außerdem Kontakt mit Ihrem Hardwareanbieter auf. In der Zwischenzeit können die Informationen zum Fehler selbst entschlüsselt werden, um besser zu verstehen, was möglicherweise passiert ist.

Wenn eine MCE ausgegeben wurde und ein violetter Diagnosebildschirm angezeigt wird, erstellen Sie einen Screenshot, führen Sie einen Neustart durch und erfassen Sie die Protokolle. Weitere Informationen finden Sie unter Collecting diagnostic information from an ESX or ESXi host that experiences a purple diagnostic screen (1004128).
Hinweis: Wenn ein violetter Diagnosebildschirm angezeigt wird, in dem keine Maschinenprüfung (Machine Check – MC), keine Maschinenprüfausnahme (Machine Check Exception) und kein Hardwarefehler (Maschinenfehler) erwähnt werden, finden Sie weitere Informationen unter Interpreting an ESX host purple diagnostic screen (1004250).


Symptoms:
Haftungsausschluss: Dieser Artikel ist eine Übersetzung des zugrunde liegenden Artikels Decoding Machine Check Exception (MCE) output after a purple screen error (1005184). Die Übersetzung des Artikels erfolgt auf einer Minimalbasis („Best Effort“), übersetzter Inhalt der Artikel kann veraltet oder inkorrekt sein. Schadenersatzansprüche sind vollständig ausgeschlossen.


  • Ein ESX/ESXi-Host wird mit einem violetten Diagnosebildschirm beendet.

  • Im violetten Diagnosebildschirm wird eine Meldung ähnlich der folgenden angezeigt:

    • Machine Check Exception: Unable to continue
    • Hardware (Machine) Error
    • PCPU: 1 hardware errors seen since boot (1 corrected by hardware)

  • Wenn die Protokolle des Core-Dump extrahiert werden, wird eine Fehlermeldung ähnlich der folgenden angezeigt:

    • ALERT: MCE: 171: Machine Check Exception: Bank x, Status nnnnnnnnnnn
    • MC:PCPUn B:x S:nnnnnnnnnnn M:mmmmmmmmmmmm: A:aaaaaaaaaaa

  • Auf AMD-Systemen wird eine Meldung angezeigt, die auf ein Hardwareproblem hinweist. Es ist jedoch keine Maschinenprüfausnahme aufgetreten. Es wird eine Fehlermeldung ähnlich der folgenden angezeigt:

    vmkernel: 72:03:47:16.847 cpu4:14403)MCE: 978: MCE not recoverable but did not generate an exception.


Environment

VMware vSphere ESXi 5.1
VMware ESX 4.1.x
VMware ESX Server 2.5.x
VMware ESX 4.0.x
VMware ESXi 3.5.x Installable
VMware ESX Server 1.5.x
VMware ESX Server 3.5.x
VMware ESX Server 2.0.x
VMware vSphere ESXi 5.0
VMware ESX Server 3.0.x
VMware vSphere ESXi 6.0
VMware ESXi 3.5.x Embedded
VMware ESXi 4.0.x Installable
VMware ESXi 4.0.x Embedded
VMware ESX Server 1.x
VMware ESXi 4.1.x Embedded
VMware ESX Server 2.1.x
VMware vSphere ESXi 5.5
VMware ESXi 4.1.x Installable

Resolution

<embed allowfullscreen="true" allowscriptaccess="always" height="340" src="https://www.youtube.com/v/EQb2O0GnG1I&hl=en_US&fs=1&" type="application/x-shockwave-flash" width="560">

Aktuelle CPUs von Intel und AMD implementieren eine Machine Check Architecture, die Hardwarefehler, wie beispielsweise Systembus-Fehler, RAM-Fehler (ECC und Parität) und weitere CPU-Fehler erkennt und meldet. Es steht eine Reihe modellspezifischer Register (MSRs) zur Verfügung, die zum Melden von Fehlern verwendet warden.
Wenn ein Hardwarefehler auftritt, werden globale und bankspezifische Machine Check Architecture-Statusregister mit Informationen zu der Ursache gefüllt. Außerdem wird angegeben, ob die CPU weiterhin sicher ausgeführt werden kann. Bei einem behebbaren Fehler meldet ESX/ESXi den Vorfall und registriert die Inhalte in den VMkernel-Protokollen. Kann ein Fehler nicht behoben und die CPU nicht weiterhin sicher ausgeführt werden, wird ESX/ESXi mit einem violetten Diagnosebildschirm beendet.

Während einer MCE werden die Inhalte der Machine Check Architecture-Register protokolliert. Die Meldungen werden im violetten Diagnosebildschirm selbst angezeigt und in der Protokolldatei innerhalb der VMkernel zdump-Datei aufgezeichnet. Weitere Informationen finden Sie unter Extracting the log file after an ESX or ESXi host fails with a purple screen error (1006796). Wenn die serielle Protokollierung konfiguriert ist, werden dieselben Meldungen am seriellen Port ausgegeben. Weitere Informationen finden Sie unter Enabling serial-line logging for an ESX and ESXi host (1003900).

Machine Check Architecture-Register

Das globale MCA-Register (MCG_STATUS) meldet, ob eine MCE in Bearbeitung ist und ob der Befehlszähler, der auf den Stack geschoben wurde, verwendet werden kann, um die Ausführung des Programms zuverlässig neu zu starten, oder ob er dem Fehler direkt zugeordnet ist.

Das Register für globale Funktionen (MCG_CAP) gibt die Funktionen der Machine Check Architecture des Prozessors an. Die unteren 8 Bits geben die Anzahl der Fehlerberichterstattungs-Banken einer Hardware-Einheit an, die in einem bestimmten Prozessor vorhanden sind. Eine Bank mit Fehlerberichterstattungs-Registern ist einer bestimmten Hardware-Einheit (oder einer Gruppe von Hardware-Einheiten) zugeordnet, wobei die Zuordnung anbieter- und modellspezifisch ist. Weitere Informationen finden Sie in der Dokumentation des Anbieters, die im Abschnitt Zusätzliche Informationen dieses Artikels aufgeführt ist.

Jede Fehlerberichterstattungs-Bank setzt sich aus mehreren Registern zusammen. Von vorrangiger Bedeutung während einer Maschinenprüfausnahme ist das Statusregister (MCi_STATUS) der Bank, das detaillierte Informationen zu der Maschinenprüfausnahme enthält, sowie die Adressregister (MCi_ADDR) und die sonstigen Register (MCi_MISC), die möglicherweise zusätzliche Informationen liefern.

Ermitteln von Registerinhalten

Verschiedene Versionen von ESX/ESXi protokollieren die Inhalte der Machine Check Architecture in verschiedenen Formaten. Weitere Informationen finden Sie unter Determining VMware Software Version and Build Number (392).

  • ESX/ESXi 3.x:

    Die Protokollmeldung ist ausführlich. Sie besteht aus drei Zeilen für jede zu prüfende Bank. Jede Zeile enthält den Text MCE und beginnt mit der physischen CPU (C), bei der die Ausnahme aufgetreten ist. Das Register mit dem allgemeinen Status wird in einer eigenen Zeile angezeigt. Die Statusregister (s), Adressregister (a) und sonstigen Register (m) jeder zu prüfenden Bank werden in einer eigenen Zeile angezeigt.

    cpuC:xxxx)Alert: MCE: Machine Check Exception: General Status 000000000000000n
    cpuC:xxxx)Alert: MCE: Machine Check Exception: Bank b, Status ssssssssssssssss
    cpuC:xxxx)Alert: MCE: Machine Check Exception: Bank b, Addr aaaaaaaaaaaaaaaa
    cpuC:xxxx)Alert: MCE: Machine Check Exception: Bank b, Misc mmmm


  • ESX/ESXi 4.0:

    Die Protokollmeldung ist nicht ausführlich. Sie besteht aus einer Zeile für jede zu prüfende Bank. Das Register mit dem allgemeinen Status wird in einer eigenen Zeile angezeigt. Jede Zeile beginnt mit dem Text MCE und enthält die Nummer der physischen CPU (C), die Banknummer (B) und die Statusregister (s), die sonstigen Register (m) und die Adressregister (a) gefolgt vom Wert des Registers mit dem allgemeinen Status.

    Machine Check Global status on cpuC: 0x000000000000000n
    MCE on cpuC bankB: Status:0xssssssssssssssss Misc:0xmmmm Addr:0xaaaaaaaaaaaaaaaa

  • ESX/ESXi 4.1 und ESXi 5.0:

    Die Protokollmeldung ist nicht ausführlich. Sie besteht aus einer Zeile für jede zu prüfende Bank. Jede Zeile beginnt mit dem Text MC und enthält die Nummer der physischen CPU, die Banknummer und die Status-, sonstigen und Adressregister, gefolgt vom Wert des Registers mit dem allgemeinen Status.

    MC:PCPUc B:b S:0xssssssssssssssss M:0xmmmm A:0xaaaaaaaaaaaaaaaan

Unabhängig von der ESX/ESXi-Version müssen die folgenden Informationen verfügbar sein:

  • Nummer der physischen CPU
  • Register mit globalem Status
  • Banknummer
  • Statusregister der Bank
  • Adressregister der Bank
  • Sonstiges Register der Bank

Automatische Interpretation

VMware ESX/ESXi Version 4.0 und höher versuchen, die Inhalte des/der Statusregister für die Anzeige im violetten Diagnosebildschirm zu interpretieren.

Beispiel:
  • MCE on cpuC bankB: Status:0xssssssssssssssss Misc:0xmmmm Addr:0xaaaaaaaaaaaaaaaa: Valid.UC.Err enabled.Misc valid.Addr valid.
  • Hardware (Machine) Error: Cache Hierarchy:_Level_2_Instruction_Cache_Instruction_Fetch_Error. PCPUc in world xxxx:process

Hinweis: Wenn die automatische Interpretation und die Interpretation des Anbieters nicht übereinstimmen, sollte die Interpretation des Anbieters als korrekt angesehen werden. Die Raw-Inhalte des Statusregisters sind ebenfalls verfügbar, sodass sie manuell überprüft werden können.

Entschlüsseln des globalen MCA-Statusregisters (MCG_STATUS)


Das globale Statusregister besteht aus 64 Bit, wobei nur die niedrigen 3 Bit eine Bedeutung haben. Die hohen 61 Bit sind reserviert. Das globale Statusregister kann zwecks Vergleich in das Binärformat konvertiert werden.

63
3
2
1
0
Reserviert
MCIP
EIPV
RIPV
  • Bit 2: Machine Check In Progress. Gibt an, ob eine Maschinenprüfung in Bearbeitung ist und ob weitere Felder herangezogen werden sollten.
  • Bit 1: Error IP Valid. Gibt an, ob sich der Befehlszähler, der auf den Stack geschoben wurde, direkt auf den Fehler bezieht.
  • Bit 0: Restart IP Valid. Gibt an, ob die Programmausführung durch den Befehlszähler, der auf den Stack geschoben wurde, zuverlässig neu gestartet werden kann.

Beispielsweise entspricht der Wert „5“ des Registers dem globalen Status 0101 im Binärformat. Dies entspricht MCIP=1, EIPV=0, RIPV=1. Damit wird angegeben, dass eine Maschinenprüfung in Bearbeitung und die Neustart-IP (Restart IP) gültig ist.

Überblick über das Statusregister der Bank (MCi_STATUS)

Das Register MCi_STATUS jeder Bank enthält Informationen, die sich auf einen Maschinenprüfungsfehler beziehen. Diese Informationen sind nur sinnvoll und werden nur dann protokolliert, wenn das Flag für die Gültigkeit „Valid“ (Bit 63) gesetzt ist. Dieses Register umfasst 64 Bit.

63
62
61605958575632
31
16
15
0
VAL
OVER
UCENMISCVADDRVPCCWeitere Informationen
Erweiterter Fehlercode
MCA-Fehlercode

Die 7 hohen Bits 57:63 bieten einen Überblick über den Prozessorstatus und geben an, welche der übrigen Register aussagekräftig sind:
  • Bit 63: VAL. Gibt an (wenn gesetzt), dass das Statusregister dieser Bank (MCi_STATUS) gültig ist und dass weitere Felder herangezogen werden sollten.
  • Bit 62: OVER Gibt an (wenn gesetzt), dass ein Maschinenprüfungsfehler aufgetreten ist, während sich die Ergebnisse eines vorherigen Fehlers immer noch im Fehlerberichterstattungs-Register der Bank befinden. Gibt möglicherweise an, dass ESX/ESXi die MCE nicht unverzüglich verarbeitet hat oder dass mehrere MCEs sehr nah beieinander aufgetreten sind.
  • Bit 61: UC. Gibt an (wenn gesetzt), dass der Prozessor die Fehlerbedingung nicht behoben hat oder nicht beheben konnte. Ein ESX/ESXi-Host generiert immer dann einen violetten Diagnosebildschirm, wenn der Prozessor angibt, dass die Fehlerbedingung nicht behebbar war.
  • Bit 60: EN. Gibt an (wenn gesetzt), dass der Fehler durch das zugehörige EEj-Bit des Registers MCi_CTL ermöglicht wurde. Ist üblicherweise 1.
  • Bit 59: MISCV. Gibt an (wenn gesetzt), dass das zugehörige sonstige Register (MCi_MISC) für diese Bank gültig ist und zusätzliche Informationen zu dem Fehler enthält.
  • Bit 58: ADDRV. Gibt an (wenn gesetzt), dass das zugehörige Adressregister (MCi_ADDR) für diese Bank gültig ist und die Speicheradresse enthält, bei der der Fehler aufgetreten ist. Die Speicheradresse kann physisch oder virtuell sein und vom Typ des aufgetretenen Fehlers abhängen.
  • Bit 57: PCC. Gibt an (wenn gesetzt), dass der Prozessorstatus möglicherweise aufgrund der Fehlerbedingung beschädigt wurde und dass es u. U. nicht möglich ist, die Ausführung der Software zuverlässig fortzusetzen.

Die Bits 56:32 enthalten sonstige Informationen. Sie können reserviert oder für Indikatoren verwendet werden oder weitere modellspezifische Informationen enthalten. Weitere Informationen finden Sie in der Dokumentation des Anbieters, die im Abschnitt Zusätzliche Informationen dieses Artikels aufgeführt ist.

Die Bits 31:16 enthalten modellspezifischen erweiterten Fehlercode. Weitere Informationen finden Sie in der Dokumentation des Anbieters, die im Abschnitt Zusätzliche Informationen dieses Artikels aufgeführt ist.

Die Bits 15:0 enthalten den für die Machine Check Architecture definierten Fehlercode für die erkannte Maschinenprüfungs-Fehlerbedingung. Diese Fehlercodes sind für alle Prozessoren, die die Machine Check Architecture implementieren, identisch, wobei für einzelne Prozessormodelle möglicherweise zusätzliche Abstufungen definiert sind. Weitere Informationen finden Sie in der Dokumentation des Anbieters, die im Abschnitt Zusätzliche Informationen dieses Artikels aufgeführt ist.

Für die Machine Check Architecture definierte Fehlercodes im Statusregister der Bank (MCi_STATUS)

Die Machine Check Architecture definiert verschiedene Fehler, die im Statusregister jeder Bank vorkommen können und in einfache und zusammengesetzte Fehlercodes eingeteilt werden. Ermitteln Sie das Muster, das den Inhalten des Statusregisters entspricht.

Einfache Fehlercodes geben einen bestimmten Fehler wieder und entsprechen genau den Inhalten des Statusregisters:

  • 0000 0000 0000 0000 – Für diese Bank wurde kein Fehler gemeldet.
  • 0000 0000 0000 0001 – Nicht klassifiziert. Dieser Fehler wurde in den MCA-Fehlerklassen nicht klassifiziert. Der Abschnitt mit zusätzlichen Informationen ist möglicherweise aussagekräftig.
  • 0000 0000 0000 0010 – Paritätsfehler im internen Microcode-ROM
  • 0000 0000 0000 0011 – Das BINT# eines anderen Prozessors hat verursacht, dass dieser Prozessor der Maschinenprüfung unterzogen wird.
  • 0000 0000 0000 0100 – Master-/Slave-Fehler bei funktionaler Redundanzprüfung (Functional Redundancy Check, FRC)
  • 0000 0000 0000 0101 – Interner Paritätsfehler
  • 0000 0100 0000 0000 – Interner Timer-Fehler
  • 0000 01xx xxxx xxxx – Interner nicht klassifizierter Fehler. Mindestens ein x entspricht 1.

Zusammengesetzte Fehlercodes folgen einem Muster und definieren mehrere Aspekte des Fehlers mit einer einzelnen Fehlernummer:

  • 000F 0000 0000 11LL – Generische Cache-Hierarchiefehler
  • 000F 0000 0001 TTLL – TLB-Fehler
  • 000F 0000 1MMM CCCC – Arbeitsspeicher-Controller-Fehler (nur Intel)
  • 000F 0001 RRRR TTLL – Arbeitsspeicherfehler in der Cache-Hierarchie
  • 000F 1PPT RRRR IILL – Bus- und Interconnect-Fehler

Untergeordnete Felder zusammengesetzter Fehlercodes definieren Abschnitte eines zusammengesetzten Fehlercodes. Verwenden Sie diese, um die durch den zusammengesetzten Fehlercode definierte Vorlage aufzufüllen:

  • Kodierung des untergeordneten Felds für den Transaktionstyp (TT):

    • 00 – Anweisung
    • 01 – Daten
    • 10 – Generisch
    • 11 – Reserviert

  • Kodierung des untergeordneten Felds für die Arbeitsspeicher-Hierarchieebene (LL):

    • 00 – Ebene 0
    • 01 – Ebene 1
    • 10 – Ebene 2
    • 11 – Generisch

  • Kodierung des untergeordneten Felds für den Arbeitsspeicher-Transaktionstyp (MMM):

    • 000 – Generische nicht definierte Anforderung
    • 001 – Arbeitsspeicher-Lesefehler
    • 010 – Arbeitsspeicher-Schreibfehler
    • 011 – Adress- oder Befehlsfehler
    • 100 – Arbeitsspeicher-Bereinigungsfehler
    • 101-111 – Reserviert

  • Kodierung des untergeordneten Felds für die Kanalnummer (CCCC):

    • 0000-1110 – Kanalnummer
    • 1111 – Kanal nicht angegeben

  • Kodierung des untergeordneten Felds für die Anforderung (RRRR):

    • 0000 – Generischer Fehler
    • 0001 – Generischer Lesevorgang
    • 0010 – Generischer Schreibvorgang
    • 0011 – Datenlesevorgang
    • 0100 – Datenschreibvorgang
    • 0101 – Abrufen der Anweisung
    • 0110 – Vorabrufen
    • 0111 – Entfernen
    • 1000 – Überwachen (Test)

  • Kodierung des untergeordneten PP-Felds (Participation Processor):

    • 00 – Anforderung wurde vom lokalen Knoten ausgegeben.
    • 01 – Lokaler Knoten hat auf die Anforderung reagiert.
    • 10 – Lokaler Knoten hat Fehler als Dritter beobachtet.
    • 11 – Generisch

  • Kodierung des untergeordneten Felds für die Zeitüberschreitung (T):

    • 0 – Keine Zeitüberschreitung bei Anforderung
    • 1 – Zeitüberschreitung bei Anforderung

  • Kodierung des untergeordneten Felds für Arbeitsspeicher-/E/A (II):
    • 00 – Arbeitsspeicherzugriff
    • 01 – Reserviert
    • 10 – E/A
    • 11 – Sonstiges

Modellspezifische Fehlercodes in den Statusregistern der Bank (MCi_STATUS) und den sonstigen Registern der Bank (MCi_MISC)

Die Machine Check Architecture ermöglicht Bits oder Bit-Gruppen in den Statusregistern der Bank (MCi_STATUS) und den sonstigen Registern der Bank (MCi_MISC), basierend auf dem Prozessormodell und der Banknummer eine zusätzliche Bedeutung anzunehmen. Die Auflistung der Feldbedeutungen für alle Prozessorfamilien wird in diesem Artikel nicht behandelt.

Informationen zum Interpretieren der zusätzlichen Inhalte der Statusregister der Bank (MCi_STATUS) und der sonstigen Register der Bank (MCi_MISC) finden Sie in der Dokumentation zum jeweiligen Prozessormodell. Weitere Informationen finden Sie in der Dokumentation des Anbieters, die im Abschnitt Zusätzliche Informationen dieses Artikels aufgeführt ist, oder wenden Sie sich an den Hardwareanbieter.

Weitere Überlegungen

  • Von der Machine Check Architecture gemeldete Informationen bieten Unterstützung bei der Behebung von Hardwarefehlern. Die über den MCA-Fehlercode verfügbaren Informationen sind jedoch möglicherweise nicht ausreichend, um dem Problem auf den Grund zu gehen. Wenn weitere Informationen benötigt werden, lesen Sie in der Dokumentation des Herstellers zum Prozessor nach.

  • Die von der Machine Check Architecture gemeldeten Informationen sollten im Kontext mit anderen Fehlern betrachtet werden, wenn versucht wird, ein Muster von Ausfällen zu erkennen.

  • Wenn die Machine Check Architecture ungültige Informationen meldet, aber eine MCE stattgefunden hat, wird dadurch weiterhin ein Hardwarefehler widergespiegelt.

  • Wenn Sie dem Hardwareanbieter den vollständigen Inhalt der Machine Check Architecture-Register zur Verfügung stellen, kann dies bei der Untersuchung der Ursache des Hardwarefehlers hilfreich sein.



Additional Information

In einigen Fällen fällt der Host möglicherweise nicht mit einem violetten Diagnosebildschirm (PSOD) aus, sondern MCE-Fehler werden im Protokoll „vmkernel/messages“ erfasst. Das Protokoll sieht wie folgt aus:

MCE: 215: CMCI on cpu1 bank8: Status:0xd000008000310080 Misc:0x0 Addr:0x0: Valid.Overflow.Err enabled.
MCE: 220: Status bits: "Memory Controller Error on Channel 0.
Weitere Informationen finden Sie unter:

Hinweis: Die obigen Links waren am Mittwoch, 14. Oktober 2015 korrekt. Sollte die Links fehlerhaft sein, melden Sie uns dies, damit der Link durch einen Mitarbeiter von VMware aktualisiert werden kann. Decoding Machine Check Exception (MCE) output after a purple screen error