VMware : Débogage de l’exception de vérification de la machine ESXi - Écran de diagnostic violet
Summary: Comment déboguer l’écran violet de diagnostic (PSOD) de l’exception de vérification de la machine (MCE) ESXi à l’aide d’un exemple.
Instructions
Description:
Les serveurs ESXi peuvent s’arrêter avec un écran de diagnostic violet (PSOD) en raison d’erreurs d’exception de vérification de la machine (MCE). Les erreurs MCE sont dues à des problèmes matériels.
L’écran de diagnostic MCE violet affiche plusieurs éléments. Parmi ceux-ci, le MCi_STATUS register est utile pour déboguer le problème.
Détails de l’enregistrement :
- Le
MCi_STATUSLe registre contient des informations sur l’erreur de vérification de la machine. - Le registre s’affiche en regard de l’icône «
S:» Comme illustré dans l’exemple ci-dessous :
MC: PCPU18 B:13 S:0xfe20004000011166 M:0x7246040086 A:0x38c989b100 5
Les bits et leur signification :
| 63 | 62 | 61 | 60 | 59 | 58 | 57 | 53-56 | 38-52 | 32-37 | 16-31 | 0-15 |
| Balise VALID : si elle est définie, les informations sont valides. | Balise de dépassement : si elle est définie, elle peut indiquer que plusieurs MCE se sont produites à proximité les unes des autres. | Balise UNC : si elle est définie, le processeur n’a pas pu corriger l’erreur. | Drapeau EN | Balise MISCV : si elle est définie, le registre MISC contient plus d’informations. | ADDRV : s’il est défini, le registre ADDR contient l’endroit où l’erreur s’est produite. | Indicateur PCC : si cette option est définie, cela signifie que le processeur a peut-être été endommagé. | Architectural si le bit 11 est défini, sinon « autres informations ». | Architectural si le bit 10 est défini, sinon « autres informations ». | Autres informations | Code d’erreur spécifique au modèle pour le processeur | Code d’erreur de vérification de la machine |
Pour déboguer l’erreur, les 16 bits inférieurs de l’attribut MCi_STATUS sont importants. Ces bits indiquent une erreur simple ou composée.
Option 1 : Utilisation de l’outil automatique
Lecteur d’erreurs VMware Purple Diagnostic Screen (PSOD)
Option 2 : Utilisation des étapes manuelles
- Les erreurs simples sont rapides à déboguer
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.
- Erreurs combinées
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 - Balise de formulaire
0 – Normal Filtering 1 – Corrected Filtering
Le filtrage signifie qu’une partie ou la totalité des corrections ultérieures apportées à cette entrée dans cette structure ne sont pas publiées.
- TT : s’applique aux points 2 et 4 ci-dessus.
Indique le type de transaction :
00 - Instruction 01 - Data 10 - Generic
- LL : s’applique aux points 1, 2, 4 et 5 ci-dessus.
Cela indique le niveau de la hiérarchie de la mémoire où l’erreur s’est produite.
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 : indique le type d’action associé à l’erreur. Les actions sont les suivantes :
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 (Participation) : décrit le rôle du processeur local dans l’erreur.
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 (Time-out) - 1 = expiration du délai de la demande.
- II (mémoire ou E/S)
00 - M - Memory Access 10 - IO - I/O 01 - Reserved 11 - Other transaction
- Erreurs de contrôleur de mémoire - Définies par les sous-champs MMM et CCCC ci-dessus
- MMM - Memory error
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 présentant l’erreur
0000-1110 - CHN - Channel number 1111 - Channel not specified
Voici un exemple d’analyse d’une capture d’écran de diagnostic MCE violet :
- Notez le
MCi_STATUSenregistrer la valeur. Le voilà:
0xfe20004000011166.
- Convertissez-le en binaire :
1111 1110 0010 0000 0000 0000 0100 0000 0000 0000 0000 0001 0001 0001 0110 0110
- Prenez les 16 bits inférieurs de l’attribut
MCi_STATUSregistre:
0001 0001 0110 0110
Comparez-le avec les erreurs composées. Dans ce cas, il semble s’agir d’une erreur de hiérarchie de cache (type 4).
- Appliquez les valeurs :
F = 1 RRRR = 0110 – Prefetch TT = 01 – Transaction type - Data LL = 10 – Level 2 cache
Conclusion :
- Il semble que l’écran de diagnostic violet se soit produit pendant qu’il y avait une opération de prérécupération sur certaines données dans le cache L2 du processeur.
- Il peut donc s’agir d’un problème avec le cache N2 sur le processeur.
- Par conséquent, vous devez d’abord remplacer le processeur, puis vérifier si le problème est résolu. Si le problème se reproduit, la carte mère peut être remplacée.