Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products

Fejlfinding af ESXi Machine Check Exception (MCE) PSOD

Summary: Sådan foretager du fejlfinding af ESXi Machine Check Exception (MCE) lilla diagnostisk skærm (PSOD) med et eksempel.

This article applies to   This article does not apply to 

Instructions

Beskrivelse:

ESXi-servere kan stoppe med en lilla diagnostisk skærm (PSOD) pga. MCE-fejl (machine check exception). MCE-fejl skyldes hardwareproblemer.

Den lilla MCE-diagnosticeringsskærm viser flere ting. Ud af disse er MCi_STATUS-registret nyttigt til fejlfinding af problemet.

Oplysninger om tilmelding:

  • Det MCi_STATUS register består af oplysninger om maskinkontrolfejlen.
  • Kasseapparatet vises ved siden af "S:" Som vist i eksemplet nedenfor:
MC: PCPU18 B:13 S:0xfe20004000011166 M:0x7246040086 A:0x38c989b100 5
 

Bits og deres betydning:

63 62 61 60 59 58 57 53-56 38-52 32-37 16-31 0-15
GYLDIGT flag - Hvis indstillet, er oplysningerne gyldige. OVERLØBSFLAG – Hvis den er indstillet, kan det angive, at flere MCE'er er opstået tæt på hinanden UNC-flag - Hvis indstillet, kunne CPU ikke rette fejlen. EN-flag MISCV-flag - Hvis indstillet, indeholder MISC-registret flere oplysninger. ADDRV - Hvis indstillet, indeholder ADDR-registret, hvor fejlen opstod. PCC-flag - Hvis det er indstillet, betyder det, at processoren muligvis er blevet beskadiget. Arkitektonisk, hvis bit 11 er indstillet, ellers "anden information." Arkitektonisk, hvis bit 10 er indstillet, ellers "anden information." Anden information Modelspecifik fejlkode for CPU Fejlkode til maskinkontrol
 

For at fejlfinde fejlen er de lave 16 bit i MCi_STATUS-registret vigtige. Disse bits indikerer en simpel eller sammensat fejl.

Valgmulighed 1: Brug af automatisk værktøj

Valgmulighed 2: Brug af manuelle trin

  1. Enkle fejl er nemme at fejlfinde
    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.
     
  2. Sammensatte fejl
    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.
     
    • F – Formularflag
      0 – Normal Filtering
      1 – Corrected Filtering

      Filtrering betyder, at nogle eller alle de efterfølgende rettelser til denne post i denne struktur ikke bogføres.

    • TT - Gælder for 2 og 4 ovenfor. 

      Angiver transaktionstype:

      00 - Instruction
      01 - Data
      10 - Generic
    • LL - Gælder for 1, 2, 4 og 5 ovenfor. 

      Angiver det niveau i hukommelseshierarkiet, hvor fejlen opstod

      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)
    • RRRR - Angiver den type handling, der er knyttet til fejlen. Foranstaltningerne er:
      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
       
    • PP (deltagelse) - Beskriver den lokale processors rolle i fejlen.
      00 - SRC - Local processor originated request
      01 - RES - Local processor responded to request
      10 - OBS - Local processor observed error as third party
      11 - Generic
       
    • T (timeout) - 1 = Anmodning fik timeout.
    • II (hukommelse eller I/O)
      00 - M - Memory Access
      10 - IO - I/O
      01 - Reserved
      11 - Other transaction
       
    • Hukommelsescontrollerfejl – defineret af MMM- og CCCC-underfelter ovenfor
    • MMM – hukommelsesfejl
      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
       
    • CCCC – kanal med fejlen
      0000-1110 - CHN - Channel number
      1111 - Channel not specified

Her er et eksempel på, hvordan du analyserer et MCE lilla diagnostisk skærmbillede:
Skærmbillede af MCE-diagnosticering
 

  1. Bemærk, at MCi_STATUS registerværdien er 0xfe20004000011166.
  2. Konverter det til binært:
    1111 1110 0010 0000 0000 0000 0100 0000 0000 0000 0000 0001 0001 0001 0110 0110
  3. Tag de nederste 16 bit af MCi_STATUS-registret:
    0001 0001 0110 0110

    Sammenlign det med de sammensatte fejl. I dette tilfælde ser det ud til at være en cachehierarkifejl (type 4).

  4. Anvend værdierne:
    F = 1
    RRRR = 0110 – Prefetch
    TT = 01 – Transaction type - Data
    LL = 10 – Level 2 cache
     

Konklusion:

  • Det ser ud til, at den lilla diagnostiske skærm opstod, mens der var en prefetch-handling på nogle data i processorens L2-cache.
  • Dette kan således være et problem med L2-cachen på processoren.
  • Derfor bør vi først udskifte CPU'en og kontrollere, om problemet er løst. Hvis problemet opstår igen, kan vi udskifte bundkortet.


 

Affected Products

Virtualization Solutions, VMware ESXi

Products

Software, Analytics