VMware: Depuración de PSOD de ESXi MCE
Summary: Cómo depurar la pantalla de diagnóstico púrpura (PSOD) de la excepción de comprobación de máquina (MCE) de ESXi con un ejemplo.
Instructions
Es posible que los servidores ESXi se detengan con una pantalla de diagnóstico (PSOD) púrpura debido a errores de excepción de comprobación de máquina (MCE). Los errores de MCE se deben a problemas de hardware.
En la pantalla de diagnóstico de MCE de color púrpura, se muestran varios elementos. De estos, el MCi_STATUS register es útil para depurar el problema.
Detalles del registro:
- La variable
MCi_STATUSEl registro consta de información sobre el error de comprobación de la máquina. - El registro se muestra junto a la tarjeta "
S:" Como se muestra en el siguiente ejemplo:
MC: PCPU18 B:13 S:0xfe20004000011166 M:0x7246040086 A:0x38c989b100 5
Bits y su significado:
| 63 | 62 | 61 | 60 | 59 | 58 | 57 | 53-56 | 38-52 | 32-37 | 16-31 | 0-15 |
| Marca VALID: si se establece, la información es válida. | Marca OVERFLOW: si se establece, puede indicar que se produjeron varios MCE cerca unos de otros. | Marca UNC: si se configura, la CPU no pudo corregir el error. | Marca EN | Marca MISCV: si se configura, el registro MISC contiene más información. | ADDRV: si se configura, el registro de ADDR contiene la ubicación donde se produjo el error. | Marca de PCC: si está configurada, significa que es posible que el procesador se haya dañado. | Arquitectónico si se establece el bit 11, de lo contrario, "otra información". | Arquitectónico si se establece el bit 10, de lo contrario, "otra información". | Otra información | Código de error específico del modelo para la CPU | Código de error de verificación de máquina |
Para depurar el error, los 16 bits inferiores del MCi_STATUS registrarse son importantes. Estos bits indican un error simple o compuesto.
Opción 1: Uso de la herramienta automática
Lector de errores de la pantalla de diagnóstico púrpura de VMware (PSOD)
Opción 2: Uso de pasos manuales
- Los errores simples se depuran rápidamente
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.
- Errores compuestos
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 - Marca de forma
0 – Normal Filtering 1 – Corrected Filtering
El filtrado significa que algunas o todas las correcciones posteriores a esta entrada en esta estructura no se publican.
- TT: se aplica a los puntos 2 y 4 anteriores.
Indica el tipo de transacción:
00 - Instruction 01 - Data 10 - Generic
- LL: se aplica a los puntos 1, 2, 4 y 5 anteriores.
Esto indica el nivel en la jerarquía de memoria en el que se produjo el error.
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: indica el tipo de acción asociada con el error. Las acciones son:
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 (participación): describe la función del procesador local en el error.
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 (tiempo de espera agotado) - 1 = tiempo de espera agotado de la solicitud.
- II (memoria o I/O)
00 - M - Memory Access 10 - IO - I/O 01 - Reserved 11 - Other transaction
- Errores de la controladora de memoria: definidos por los subcampos MMM y CCCC anteriores
- MMM: error de memoria
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: canal con el error
0000-1110 - CHN - Channel number 1111 - Channel not specified
A continuación, se muestra un ejemplo de cómo analizar una captura de pantalla de diagnóstico de MCE Morado:
- Anota el
MCi_STATUSRegistrar valor. Aquí está:
0xfe20004000011166.
- Conviértalo en binario:
1111 1110 0010 0000 0000 0000 0100 0000 0000 0000 0000 0001 0001 0001 0110 0110
- Tome los 16 bits inferiores del
MCi_STATUSRegistro:
0001 0001 0110 0110
Compáralo con los errores compuestos. En este caso, parece ser un error de jerarquía de caché (tipo 4).
- Aplique los valores:
F = 1 RRRR = 0110 – Prefetch TT = 01 – Transaction type - Data LL = 10 – Level 2 cache
Conclusión:
- Parece que la pantalla de diagnóstico de color púrpura se produjo mientras se realizaba una operación de captura previa en algunos datos en la caché L2 del procesador.
- Por lo tanto, esto podría ser un problema con la caché L2 en el procesador.
- Por lo tanto, primero se debe reemplazar la CPU y, a continuación, comprobar si el problema se ha resuelto. En caso de que el problema vuelva a surgir, se podría reemplazar la placa base.