VMware: Діагностичний екран налагодження перевірки машини ESXi Виняток фіолетового кольору
Summary: Як налагодити фіолетовий діагностичний екран (PSOD) ESXi Machine Check Exception (MCE) з прикладом.
Instructions
Опис:
Сервери ESXi можуть зупинятися з фіолетовим діагностичним екраном (PSOD) через помилки винятку перевірки машини (MCE). Помилки MCE пов'язані з апаратними проблемами.
Діагностичний екран MCE фіолетового кольору відображає кілька елементів. З них MCi_STATUS Register корисний для налагодження проблеми.
Деталі для реєстрації:
- Об'єкт
MCi_STATUSРегістр складається з відомостей про помилку перевірки машини. - Регістр відображається поруч з «
S:Як показано в прикладі нижче:
MC: 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, інакше "інша інформація". | Інша інформація | Код помилки для конкретної моделі для ЦП | Код помилки перевірки машини |
Щоб налагодити помилку, потрібно використовувати низькі 16 біт MCi_STATUS Реєстр важливий. Ці біти вказують на просту або складену помилку.
Варіант 1: Використання автоматичного інструменту
Зчитувач помилок фіолетового діагностичного екрану (PSOD) VMware
Варіант 2: Використання ручних дій
- Прості помилки швидко налагоджуються
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.
- складові помилки
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
Фільтрація означає, що деякі або всі наступні виправлення до цього запису в цій структурі не розміщуються.
- ТТ - застосовується до пунктів 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 (Participation) - описує роль локального процесора в помилці.
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 (пам'ять або введення-виведення)
00 - M - Memory Access 10 - IO - I/O 01 - Reserved 11 - Other transaction
- Помилки контролера пам'яті - визначаються підполями MMM і CCCC вище
- МММ - Помилка пам'яті
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 фіолетового кольору:
- Запишіть
MCi_STATUSрегістрове значення. Ось вона:
0xfe20004000011166.
- Перетворіть його в двійковий:
1111 1110 0010 0000 0000 0000 0100 0000 0000 0000 0000 0001 0001 0001 0110 0110
- Візьміть нижні 16 біт
MCi_STATUSЗареєструватися:
0001 0001 0110 0110
Порівняйте його зі складеними помилками. У цьому випадку це схоже на помилку ієрархії кешу (тип 4).
- Застосуйте значення:
F = 1 RRRR = 0110 – Prefetch TT = 01 – Transaction type - Data LL = 10 – Level 2 cache
Висновок:
- Схоже, що фіолетовий діагностичний екран виник під час операції попередньої вибірки деяких даних у кеші L2 процесора.
- Таким чином, це може бути проблема з кешем L2 на процесорі.
- Тому спочатку слід замінити процесор, а потім перевірити, чи вирішено проблему. Якщо проблема виникне знову, материнську плату можна замінити.