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

调试 ESXi 机器检查异常 (MCE) PSOD

Summary: 如何调试 ESXi 机器检查异常 (MCE) 紫色诊断屏幕 (PSOD) 示例。

This article applies to   This article does not apply to 

Instructions

Description:

由于 MCE(机器检查异常)错误,ESXi 服务器可能会停止并显示紫色诊断屏幕 (PSOD)。MCE 错误是由硬件问题引起的。

MCE 紫色诊断屏幕显示多个内容。其中,MCi_STATUS寄存器在调试问题时很有用。

注册详细信息:

  • MCi_STATUS寄存器包含有关机器检查错误的信息。
  • 寄存器显示在“S:”旁边如下例所示:
司仪:PCPU18 B:13 S:0xfe20004000011166 M:0x7246040086 A:0x38c989b100 5
 

位及其意义:

63 62 61 60 59 58 57 53-56 38-52 32-37 16-31 0-15
VALID 标记 — 如果设置,则信息有效。 OVERFLOW 标志 — 如果设置,则可能表示多个 MCE 彼此靠近 UNC 标记 — 如果设置,则 CPU 无法纠正错误。 EN 标志 MISCV 标记 - 如果设置,则 MISC 寄存器包含更多信息。 ADDRV - 如果设置,则 ADDR 寄存器包含发生错误的位置。 PCC 标记 — 如果设置,则表示处理器可能已损坏。 如果设置了位 11,则为体系结构,否则为“其他信息”。 如果设置了位 10,则为体系结构,否则为“其他信息”。 其他信息 CPU 的型号特定错误代码 机器检查错误代码
 

为了调试错误,MCi_STATUS寄存器的低16位非常重要。这些位表示简单或复合错误。

选项 1:使用自动工具

选项 2:使用手动步骤

  1. 简单错误易于调试
    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. 复合误差
    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 - 表单标记
      0 – Normal Filtering
      1 – Corrected Filtering

      过滤意味着不会发布此结构中对此条目的部分或全部后续更正。

    • TT — 适用于上述 2 和 4。 

      表示交易类型:

      00 - Instruction
      01 - Data
      10 - Generic
    • LL — 适用于上述 1、2、4 和 5。 

      指示发生错误的内存层次结构中的级别

      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 - 指示与错误关联的操作类型。操作包括:
      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(参与)— 描述本地处理器在错误中的角色。
      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(超时)- 1 = 请求超时。
    • II(内存或 I/O)
      00 - M - Memory Access
      10 - IO - I/O
      01 - Reserved
      11 - Other transaction
       
    • 内存控制器错误 — 由上面的 MMM 和 CCCC 子字段定义
    • MMM - 内存错误
      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 - 带有错误的通道
      0000-1110 - CHN - Channel number
      1111 - Channel not specified

下面是如何分析 MCE 紫色诊断屏幕截图的示例:
MCE 紫色诊断屏幕截图
 

  1. 请注意,MCi_STATUS寄存器值为 0xfe20004000011166
  2. 将其转换为二进制:
    1111 1110 0010 0000 0000 0000 0100 0000 0000 0000 0000 0001 0001 0001 0110 0110
  3. 取MCi_STATUS寄存器的下 16 位:
    0001 0001 0110 0110

    将其与复合误差进行比较。在这种情况下,这似乎是缓存层次结构错误(类型 4)。

  4. 应用值:
    F = 1
    RRRR = 0110 – Prefetch
    TT = 01 – Transaction type - Data
    LL = 10 – Level 2 cache
     

结论:

  • 在对处理器的 L2 高速缓存中的某些数据执行预取操作时,似乎出现了紫色诊断屏幕。
  • 因此,这可能是处理器上的 L2 高速缓存的问题。
  • 因此,我们应首先更换CPU,并检查问题是否得到解决。如果问题再次出现,我们可以更换主板。


 

Affected Products

Virtualization Solutions, VMware ESXi

Products

Software, Analytics