Interpretieren eines violetten Diagnosebildschirms des ESX/ESXi-Hosts
search cancel

Interpretieren eines violetten Diagnosebildschirms des ESX/ESXi-Hosts

book

Article ID: 343029

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Dieser Artikel enthält Informationen zum Dekodieren von Fehlermeldungen mit einem violetten Bildschirm des ESX/ESXi-Hosts.

Eine Fehlermeldung mit einem violetten Bildschirm des ESX/ESXi-Hosts sieht so oder ähnlich aus:

Hinweis: In diesem Artikel werden die Informationen in diesem violetten Bildschirm als Beispiel verwendet.


Symptoms:

Haftungsausschluss: Dieser Artikel ist eine Übersetzung des zugrundeliegenden Artikels Interpreting an ESX/ESXi host purple diagnostic screen (1004250). 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.


Environment

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

Resolution

Was ist der VMkernel?

Der VMkernel ist der Betriebssystemkern von ESX/ESXi. Der Kernel ist für die Ressourcenplanung und die Geräte-E/A zuständig. Die Geräte-E/A wird vom VMware-Netzwerk und den Speicherstapeln verarbeitet, was als Ebene zwischen dem virtuellen Dateisystem, den Netzwerkgeräten und den Gerätetreibern, mit denen physische Geräte gesteuert werden, dient.

Interpretieren des violetten Diagnosebildschirms

Wenn beim VMkernel ein Fehler auftritt, wird dieser in einem violetten Diagnosebildschirm angezeigt. Der violette Diagnosebildschirm sieht so oder ähnlich aus:

VMware ESX Server [Releasebuild-98103
PCPU 1 locked up. Failed to ack TLB invalidate.
frame=0x3a37d98 ip=0x625e94 cr2=0x0 cr3=0x40c66000 cr4=0x16c
es=0xffffffff ds=0xffffffff fs=0xffffffff gs=0xffffffff
eax=0xffffffff ebx=0xffffffff ecx=0xffffffff edx=0xffffffff
ebp=0x3a37ef4 esi=0xffffffff edi=0xffffffff err=-1 eflags=0xffffffff
*0:1037/helper1-4 1:1107/vmm0:Fagi 2:1121/vmware-vm 3:1122/mks:Franc
0x3a37ef4:[0x625e94]Panic+0x17 stack: 0x833ab4, 0x3a37f10, 0x3a37f48
0x3a37f04:[0x625e94]Panic+0x17 stack: 0x833ab4, 0x1, 0x14a03a0
0x3a37f48:[0x64bfa4]TLBDoInvalidate+0x38f stack: 0x3a37f54, 0x40, 0x2
0x3a37f70:[0x66da4d]XMapForceFlush+0x64 stack: 0x0, 0x4d3a, 0x0
0x3a37fac:[0x652b8b]helpFunc+0x2d2 stack: 0x1, 0x14a4580, 0x0
0x3a37ffc:[0x750902]CpuSched_StartWorld+0x109 stack: 0x0, 0x0, 0x0
0x3a38000:[0x0]blk_dev+0xfd76461f stack: 0x0, 0x0, 0x0
VMK uptime: 7:05:43:45.014 TSC: 1751259712918392
Starting coredump to disk Starting coredump to disk Dumping using slot 1 of 1...using slot 1 of 1... log


Im Folgenden finden Sie eine Aufschlüsselung der einzelnen Abschnitte des obigen violetten Diagnosebildschirms:

  • Produkt und Build:

    VMware ESX Server [Releasebuild-98103]

    In diesem Abschnitt des violetten Diagnosebildschirms werden das Produkt und der Build, bei dem der Fehler aufgetreten ist, identifiziert. In diesem Beispiel handelt es sich um das Produkt VMware ESX Server und den Build 98103.

  • Fehlermeldung:

    PCPU 1 locked up. Failed to ack TLB invalidate

    In diesem Abschnitt des violetten Diagnosebildschirms wird die Fehlermeldung identifiziert. Es gibt nur eine begrenzte Anzahl von möglichen Fehlermeldungen. Diese Fehlermeldungen werden in diesem Artikel behandelt.

  • CPU-Register:

    frame=0x3a37d98 ip=0x625e94 cr2=0x0 cr3=0x40c66000 cr4=0x16c
    es=0xffffffff ds=0xffffffff fs=0xffffffff gs=0xffffffff
    eax=0xffffffff ebx=0xffffffff ecx=0xffffffff edx=0xffffffff
    ebp=0x3a37ef4 esi=0xffffffff edi=0xffffffff err=-1 eflags=0xffffffff

    Dies sind die Werte, die beim Auftreten des Fehlers in den physischen CPU-Registern vorhanden waren. Die Informationen in diesen Registern können zwischen VMkernel-Fehlern erheblich variieren. Diese Register können nur intern beim Debuggen eines Core-Dumps des VMkernel-Fehlers verwendet werden. Weitere Informationen zu diesen Registern finden Sie unter http://www.intel.com/products/processor/manuals/ für Intel und http://support.amd.com/us/psearch/Pages/psearch.aspx für AMD. Suchen Sie auf der AMD-Website nach dem Handbuch für Architekturprogrammierer für Ihren speziellen Prozessortyp.

    Hinweis: Die obigen Links waren am 28. März 2013 korrekt. Sollte ein Link fehlerhaft sein, melden Sie uns den betreffenden Artikel, damit der Artikel bei Bedarf durch einen Mitarbeiter von VMware aktualisiert werden kann.

  • Physische CPU:

    *0:1037/helper1-4 1:1107/vmm0:Fagi 2:1121/vmware-vm 3:1122/mks:Franc

    In diesem Abschnitt des violetten Diagnosebildschirms wird die physische CPU identifiziert, die beim Auftreten des VMkernel-Fehlers Anweisungen ausgeführt hat. In diesem Beispiel bedeutet * neben der „0“, dass die physische CPU 0 beim Auftreten des Fehlers einen Vorgang ausgeführt hat. In neueren ESX-Versionen wird anstelle von * die Zeichenfolge „CPU“ vorangestellt. Wenn beispielsweise der obige Fehler in neueren Versionen von VMware ESX auftreten würde, würde folgende Zeile angezeigt werden:

    CPU0:1037/helper1-4 cpu1:1107/vmm0:Fagi cpu2:1121/vmware-vm cpu3:1122/mks:Franc.

    In diesem Abschnitt des violetten Diagnosebildschirms wird auch die World (Prozess) beschrieben, die beim Auftreten des Fehlers in der CPU ausgeführt wurde. Im obigen Beispiel wurde die Userworld „helper1-4“ ausgeführt.

    Hinweis: Der Name des Prozesses ist möglicherweise abgeschnitten.

  • Stack-Trace:

    0x3a37ef4:[0x625e94]Panic+0x17 stack: 0x833ab4, 0x3a37f10, 0x3a37f48
    0x3a37f04:[0x625e94]Panic+0x17 stack: 0x833ab4, 0x1, 0x14a03a0
    0x3a37f48:[0x64bfa4]TLBDoInvalidate+0x38f stack: 0x3a37f54, 0x40, 0x2
    0x3a37f70:[0x66da4d]XMapForceFlush+0x64 stack: 0x0, 0x4d3a, 0x0
    0x3a37fac:[0x652b8b]helpFunc+0x2d2 stack: 0x1, 0x14a4580, 0x0
    0x3a37ffc:[0x750902]CpuSched_StartWorld+0x109 stack: 0x0, 0x0, 0x0
    0x3a38000:[0x0]blk_dev+0xfd76461f stack: 0x0, 0x0, 0x0


    Der Stack beschreibt, welche Aktion vom VMkernel beim Auftreten des Fehlers ausgeführt wurde. In diesem Beispiel hat er versucht, Arbeitsspeicherseitentabellen (TLB) zu löschen. Diese Informationen sind ein wichtiges Hilfsmittel bei der Diagnose von Fehlermeldungen mit einem violetten Bildschirm, indem die Aktionen des Kernels zum Zeitpunkt des Fehlers ausgewertet werden.

  • Betriebszeit:

    VMK uptime: 7:05:43:45.014 TSC: 1751259712918392

    In diesem Abschnitt wird angegeben, wie lange ein Server seit dem letzten Start läuft. In diesem Beispiel wurde der ESX-Host 7 Tage, 5 Stunden, 43 Minuten und 45,014 Sekunden ausgeführt. Der TSC-Wert ist die Anzahl der CPU-Taktzyklen, die seit dem Start des Servers verstrichen sind.

  • Core-Dump:

    Starting coredump to disk Starting coredump to disk Dumping using slot 1 of 1...using slot 1 of 1... log

    In diesem Abschnitt des violetten Bildschirms wird darauf hingewiesen, dass der Inhalt des VMkernel-Arbeitsspeichers in die vmkcore-Partition kopiert wird.

Fehlerbehebung eines VMkernel-Fehlers mithilfe der Fehlermeldung des violetten Diagnosebildschirms

Mithilfe der vom violetten Bildschirm generierten VMkernel-Fehlermeldung kann die Ursache des Problems identifiziert werden. Es kann nur eine begrenzte Anzahl von Fehlermeldungen generiert werden. Im Folgenden finden Sie eine Aufstellung bekannter VMkernel-Fehlermeldungen.

  • Typ: Konsolen-Oops
    Beispielfehler: COS Error: Oops
    Beschreibung: Bei einem ESX-Host tritt ein Fehler auf und ein violetter Bildschirm wird angezeigt, wenn ein Servicekonsolen-Oops vorliegt. Im Gegensatz zu den meisten Fehlermeldungen mit violettem Bildschirm wird dieser Fehler nicht vom VMkernel ausgelöst. Vielmehr wird er durch die Servicekonsole ausgelöst und tritt auf der Linux-Ebene auf. Diese Fehlermeldungen mit violettem Bildschirm enthalten zusätzliche Informationen des Linux-Kernels. Weitere Informationen zu Konsolen-Oops finden Sie unter Understanding an "Oops" purple diagnostic screen (1006802).

  • Typ: Taktsignalfehler
    Beispielfehler: Lost Heartbeat
    Beschreibung: ESX-VMkernel und der Linux-Kernel der Servicekonsole werden gleichzeitig in ESX ausgeführt. Der Linux-Kernel der Servicekonsole führt den Prozess vmnixhbd aus, der den VMkernel so lange taktet wie eine Arbeitsspeicherseite zugeteilt und freigegeben werden kann. Wenn innerhalb eines Zeitüberschreitungsintervalls von 30 Minuten keine Taktsignale empfangen werden, löst der VMkernel einen COS Panic-Fehler und einen violetten Diagnosebildschirm mit dem Hinweis auf einen Taktsignalfehler aus. Weitere Informationen zu Taktsignalfehlern finden Sie unter Understanding a "Lost Heartbeat" purple diagnostic screen (1009525).

  • Typ: Assertion
    Beispielfehler: ASSERT bora/vmkernel/main/pframe_int.h:527
    Beschreibung: Assertionsfehler sind Softwarefehler, da sie in Beziehung zu Annahmen stehen, auf denen das Programm basiert. Dieser Fehlermeldungstyp mit violettem Bildschirm wird in erster Linie durch Softwareprobleme verursacht. Weitere Informationen zur Assertionsfehlermeldung finden Sie unter Understanding ASSERT and NOT_IMPLEMENTED purple diagnostic screens (1019956).

  • Typ: Nicht implementiert
    Beispielfehler: NOT_IMPLEMENTED /build/mts/release/bora-84374/bora/vmkernel/main/util.c:83
    Beschreibung: Eine „Nicht implementiert“-Fehlermeldung tritt in einer Situation auf, für die der Code nicht ausgelegt ist. Weitere Informationen finden Sie unter Understanding ASSERT and NOT_IMPLEMENTED purple diagnostic screens (1019956).

  • Typ: Spin-Anzahl überschritten/möglicher Deadlock
    Beispielfehler: Spin count exceeded (iplLock) - possible deadlock
    Beschreibung: Ein VMware ESX-Host meldet möglicherweise in einem violetten Diagnosebildschirm eine Überschreitung der Spin-Anzahl und einen möglichen Deadlock, wenn versucht wird, einen Thread im kritischen Abschnitt des Codes auszuführen. Da versucht wurde, den kritischen Abschnitt aufzurufen, musste der Thread eine Sperre von einem Mutex anfordern, bevor der Code mithilfe eines Spinlock-Vorgangs ausgeführt wird. Der Thread setzt die Anfrage beim Mutex während des Spinlock-Vorgangs fort, aber es gibt einen Grenzwert für die Anzahl der Anfragen beim Mutex. Weitere Informationen zu Fehlermeldungen wegen der Überschreitung der Spin-Anzahl finden Sie unter Understanding a "Spin count exceeded" purple diagnostic screen (1020105).

  • Typ: Fehler beim Bestätigen des Löschens der TLB.
    Beispielfehler: PCPU 1 locked up. Failed to ack TLB invalidate.
    Beschreibung: Physische CPUs schlagen fehl, wenn versucht wird, Arbeitsspeicherseitentabellen zu löschen. Weitere Informationen finden Sie unter Understanding a Failed to ack TLB invalidate purple diagnostic screen (1020214).

Ein violetter Bildschirm ist auch in Form eines Ausnahmefehlers möglich. Ein Ausnahme-Handler ist ein Computerhardwaremechanismus für die Behandlung einer Bedingung, die den normalen Ausführungsablauf ändert (Division durch Null, Seitenfehler usw.). Es gibt keine Ablaufverfolgung durch Handler, weshalb Sie die Protokollierung benötigen, um festzustellen, ob der Handler fehlgeschlagen ist (oder Einzelschritt-Debugging). Es folgt eine Aufstellung häufiger Ausnahmefehler:

  • Typ: Ausnahme 13 (Allgemeine Schutzverletzung)
    Beispielfehler: #GP Exception(13) in world 4130:helper13-0 @ 0x41803399e303
    Beschreibung: Eine allgemeine Schutzverletzung (Ausnahme 13) tritt in folgenden Situationen auf: Die angeforderte Seite gehört nicht zum anfordernden Programm (und ist nicht im Arbeitsspeicher des Programms zugeordnet) oder das Programm verfügt nicht über die Rechte zum Ausführen eines Lese- oder Schreibvorgangs auf der Seite. Weitere Informationen zur Ausnahme 13 oder zum Seitenfehler finden Sie unter Understanding Exception 13 and Exception 14 purple diagnostic screen events (1020181).

  • Typ: Ausnahme 14 (Seitenfehler)
    Beispielfehler: #PF Exception type 14 in world 136:helper0-0 @ 0x4a8e6e
    Beschreibung: Ein Seitenfehler (Ausnahme 14) tritt auf, wenn die angeforderte Seite nicht erfolgreich in den Arbeitsspeicher geladen wurde. Weitere Informationen zur Ausnahme 14 oder zum Seitenfehler finden Sie unter Understanding Exception 13 and Exception 14 purple diagnostic screen events (1020181).

  • Typ: Ausnahme 18 (Maschinenprüfausnahme)
    Beispielfehler: Machine Check Exception: Unable to continue
    Beispielfehler: Hardware (Machine) Error
    Beschreibung: Eine Maschinenprüfausnahme (Machine Check Exception, (MCE) wird von der Hardware generiert und vom Host gemeldet. Wenden Sie sich bei einem MCE-Fehler an Ihren Hardwareanbieter. Durch die Auswertung der angezeigten Informationen kann die Komponente ausfindig gemacht werden, die den Fehler meldet. Weitere Informationen zu MCE finden Sie unter Decoding Machine Check Exception (MCE) output after a purple screen error (1005184).
Wenn bei Ihrem VMware ESX- oder VMware ESXi-Host ein ähnlicher Fehler auftritt, für den es keinen Verweis auf einen allgemeinen Artikel gibt, suchen Sie in der Knowledgebase nach der Fehlermeldung und nach Stack-Trace-Informationen. Wenn der Fehler nicht in der Knowledgebase dokumentiert wurde, erfassen Sie die Diagnoseinformationen auf dem VMware ESX-Host und reichen Sie eine Support-Anfrage ein.
Weitere Informationen finden Sie unter:

Fehlerbehebung mehrerer VMkernel-Fehler auf demselben ESX-Host mithilfe der Musteranalyse

Für den Fall, dass auf demselben VMware ESX-Host mehrere violette Diagnosebildschirme auftreten, können Sie mithilfe des Beispiels für mehrere violette Diagnosebildschirme die Wahrscheinlichkeit für ein Problem in Zusammenhang mit Hardware oder Software bestimmen. Zu diesem Zweck können Sie Muster in den folgenden Abschnitten des violetten Diagnosebildschirms identifizieren:

  • Fehlermeldung und Stack-Trace:

    • Wenn die Fehlermeldung und der Stack zwischen VMkernel-Fehlern erheblich variieren, ist dies ein Hinweis darauf, dass Software nicht immer denselben Fehler auslöst. Dies ist zwar nicht eindeutig, kann aber ein Hinweis auf einen Hardwarefehler sein.
    • Wenn die Fehlermeldung und der Stack zwischen VMkernel-Fehlern stets identisch sind, ist dies ein Hinweis darauf, dass Software immer denselben Fehler auslöst. Dies ist zwar nicht eindeutig, kann aber ein Hinweis auf einen Softwarefehler sein.
    • Weitere Informationen zur aufgetretenen Fehlermeldung finden Sie weiter oben im Abschnitt zur jeweiligen Fehlermeldung.

  • Physische CPU:

  • World:

    • Wenn der World-Wert bei mehreren VMkernel-Fehlern unverändert bleibt, ist dies ein Hinweis darauf, dass der VMkernel beim Empfang von Anweisungen von derselben World fehlschlägt. Dies ist zwar nicht eindeutig, kann aber ein Hinweis darauf sein, dass eine World Anweisungen sendet, die den VMkernel-Fehler auslösen.


Additional Information

Es folgt eine vollständige Aufstellung der Ausnahmen:

  • Ausnahmetyp 0 #DE: Divisionsfehler
  • Ausnahmetyp 1 #DB: Debug-Ausnahme
  • Ausnahmetyp 2 NMI: Nicht maskierbarer Interrupt
  • Ausnahmetyp 3 #BP: Breakpoint-Ausnahme
  • Ausnahmetyp 4 #OF: Überlauf (INTO-Anweisung)
  • Ausnahmetyp 5 #BR: Grenzwertüberprüfung (BOUND-Anweisung)
  • Ausnahmetyp 6 #UD: Ungültiger Opcode
  • Ausnahmetyp 7 #NM: Koprozessor nicht verfügbar
  • Ausnahmetyp 8 #DF: Doppelfehler
  • Ausnahmetyp 10 #TS: Ungültiger TSS
  • Ausnahmetyp 11 #NP: Segment nicht vorhanden
  • Ausnahmetyp 12 #SS: Stack-Segmentfehler
  • Ausnahmetyp 13 #GP: Allgemeine Schutzverletzung
  • Ausnahmetyp 14 #PF: Seitenfehler
  • Ausnahmetyp 16 #MF: Koprozessorfehler
  • Ausnahmetyp 17 #AC: Ausrichtungsprüfung
  • Ausnahmetyp 18 #MC: Maschinenprüfausnahme
  • Ausnahmetyp 19 #XF: SIMD-Gleitkommaausnahme
  • Ausnahmetyp 20-31: Reserviert
  • Ausnahmetyp 32-255: Benutzerdefiniert (Zeitplaner)

Weitere Informationen zu diesen Ausnahmen finden Sie unter Call and Return Operation for Interrupt or Exception Handling Procedures in Intel 64 and IA-32 Architectures Software Developer’s Manual, Volume 1: Basic Architecture und in Chapter 6: Interrupts and Exception Handling in Intel 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A.

Hinweis: Die obigen Links waren am 2. Oktober 2015 korrekt. Sollte ein Link fehlerhaft sein, melden Sie uns dies, damit der Link durch einen Mitarbeiter von VMware aktualisiert werden kann.

Beim Upgrade auf vCenter Server 5.0 mit ESXi 4.0 Update 2-Hosts gibt es ein bekanntes Problem. Weitere Informationen finden Sie unter ESXi 4.0 hosts may experience a purple screen after vCenter Server is upgraded to 5.0 (2007269).

Interpreting an ESX/ESXi host purple diagnostic screen