WHEA Logger 47: як знайти проблемну пам’ять на Windows Server?

WHEA Logger 47 як знайти проблемну пам’ять на Windows Server

WHEA Logger 47: як знайти проблемну пам’ять на Windows Server 2019 та виловити фризи сервера

Короткий опис: детальний практичний гайд по помилці WHEA Logger ID 47 на Windows Server 2019, фризах сервера, зависаннях RDP, відвалу мережі та пошуку проблемної ECC пам’яті за допомогою PowerShell команд, журналів Windows та тестування DIMM модулів.

Помилка WHEA Logger 47 на сервері Windows Server 2019 часто залишається непоміченою роками. Сервер може працювати “майже нормально”, але користувачі періодично помічають короткі зависання, підвисання RDP, втрату мережі, лаги 1С або короткі фризи всієї системи. При цьому у логах Windows часто немає критичних помилок диска або BSOD.

Особливо часто така проблема зустрічається на серверах із ECC пам’яттю, Xeon, X99/C600 чіпсетами, Dell Precision, Supermicro та RAID контролерами Intel RSTe.

У цій статті розглянемо реальний сценарій пошуку проблемної пам’яті через WHEA Logger 47, PowerShell команди та аналіз corrected ECC errors.


Коли виникає помилка WHEA Logger 47

Найчастіше проблема проявляється так:

  • сервер зависає на 2-10 секунд без BSOD;
  • коротко відвалюється RDP;
  • зникає мережа на кілька секунд;
  • зависає 1С або Medoc;
  • курсор миші “замирає”;
  • користувачі бачать короткі лаги всієї системи;
  • в журналах немає очевидних критичних помилок.

У багатьох випадках проблема пов’язана саме з ECC corrected memory errors.


Що таке WHEA Logger 47

WHEA — це Windows Hardware Error Architecture.

Помилка:

WHEA Logger Event ID 47

означає:

Corrected Hardware Error

Тобто апаратна помилка була виправлена ECC контролером пам’яті або процесором.

Типове повідомлення:

Компонент: память

Источник ошибки: Исправленная ошибка проверки компьютера

Це означає, що сервер уже має апаратні проблеми, але ECC пам’ять поки що рятує систему від BSOD.


Найшвидший спосіб перевірки пам’яті

Найпростіший спосіб — перевірити WHEA події через PowerShell.

Команда:

PowerShell:

Get-WinEvent -FilterHashtable @{LogName=’System’; ProviderName=’Microsoft-Windows-WHEA-Logger’; Id=47}

Якщо ви бачите десятки або сотні подій — пам’ять або memory controller працюють нестабільно.


Як знайти всі помилки пам’яті за 30 днів

Команда нижче збирає всі memory WHEA errors за останній місяць:

PowerShell:

$Start=(Get-Date).AddDays(-30); Get-WinEvent -FilterHashtable @{LogName=’System’; ProviderName=’Microsoft-Windows-WHEA-Logger’; StartTime=$Start} | Where-Object {$_.Message -match “память|memory”} | Select-Object TimeCreated, Id, LevelDisplayName, Message | Format-Table -Auto

Ця команда допомагає зрозуміти:

  • як часто виникають помилки;
  • коли почалася деградація пам’яті;
  • чи збільшується кількість corrected ECC errors.

Як порахувати кількість WHEA помилок

PowerShell:

Get-WinEvent -FilterHashtable @{LogName=’System’; ProviderName=’Microsoft-Windows-WHEA-Logger’; Id=47} | Measure-Object

Якщо значення постійно росте — проблема активна.


Як визначити конфігурацію встановленої пам’яті

Дуже часто проблема виникає через mixed ECC memory.

Наприклад:

  • 7 однакових модулів;
  • 1 інша ревізія;
  • різні SPD таблиці;
  • різні ранги пам’яті;
  • різні таймінги.

Команда для перегляду всіх модулів:

PowerShell:

Get-WmiObject Win32_PhysicalMemory | Select BankLabel, DeviceLocator, Capacity, Speed, Manufacturer, PartNumber

Саме так можна знайти модуль, який відрізняється від інших.


Приклад реальної проблеми

На сервері Dell Precision 5810 з Windows Server 2019 були симптоми:

  • короткі фризи RDP;
  • відвал мережі;
  • зависання на 2-5 секунд;
  • лаги 1С;
  • відсутність критичних disk errors.

Після перевірки PowerShell командами було знайдено:

  • WHEA Logger ID 47;
  • Corrected ECC errors;
  • одна планка RAM мала інший Part Number.

Конфігурація:

  • 7x Samsung M393A2K40BB1-CRC
  • 1x Samsung M393A2K40CB1-CRC

Саме mixed ECC пам’ять часто викликає нестабільність на Xeon та X99 системах.


Чому фризи виникають навіть без BSOD

ECC пам’ять виправляє помилки “на льоту”.

У момент corrected ECC error сервер:

  • робить retry операцій пам’яті;
  • перевіряє memory pages;
  • виконує retrain memory controller;
  • створює затримку всієї системи.

Користувач бачить це як:

  • короткий фриз;
  • відвал мережі;
  • зависання RDP;
  • затримку курсора;
  • лаг всієї системи.

Як знайти проблемний модуль пам’яті

Найкращий практичний спосіб:

  1. Знайти модуль, який відрізняється від інших.
  2. Витягнути його разом із парним DIMM слотом.
  3. Запустити сервер без цієї пари.
  4. Моніторити WHEA 47 кілька днів.

Якщо corrected ECC errors зникають — проблема знайдена.


Чому краще витягувати пам’ять попарно

Xeon процесори використовують багатоканальний memory controller.

Тому для чистого тесту краще:

  • витягувати DIMM попарно;
  • зберігати симетрію каналів;
  • не змішувати topology memory controller.

Особливо це важливо для:


Корисні команди для діагностики сервера

Перевірка disk latency:

Get-Counter ‘\PhysicalDisk(_Total)\Avg. Disk sec/Transfer’

Перевірка черги диска:

Get-Counter ‘\PhysicalDisk(_Total)\Current Disk Queue Length’

Пошук RAID помилок:

Get-WinEvent -LogName System -MaxEvents 1000 | Where-Object { $_.ProviderName -match “storport|iaStor|RST|RAID” }

Пошук disk errors:

Get-WinEvent -LogName System -MaxEvents 1000 | Where-Object { $_.ProviderName -match “disk|ntfs|volsnap|stornvme|storahci” }


Поширені помилки користувачів

  • Ігнорування WHEA warnings через відсутність BSOD.
  • Змішування різних ECC модулів.
  • Встановлення пам’яті різних ревізій.
  • Ігнорування BIOS update.
  • Використання старих Intel RSTe драйверів.
  • Неправильне встановлення DIMM у канали.
  • Використання пам’яті після corrected ECC errors.

Що ще може викликати WHEA Logger 47

Не завжди проблема саме у DIMM модулі.

Також винуватцями можуть бути:

  • memory controller процесора;
  • материнська плата;
  • контакт DIMM слота;
  • перегрів VRM;
  • старий BIOS;
  • PCIe instability;
  • Intel RSTe RAID controller.

Часті запитання

Чи небезпечний WHEA Logger 47?

Так. Це вже апаратна нестабільність, навіть якщо сервер ще працює.

Чи може corrected ECC викликати фризи?

Так. ECC corrections часто викликають короткі зависання системи.

Чи потрібно міняти пам’ять одразу?

Краще спочатку протестувати DIMM попарно.

Чи може проблема бути у процесорі?

Так. Memory controller Xeon також може викликати WHEA.

Чи допомагає BIOS update?

Дуже часто так, особливо на Dell та X99.

Чи може RAID викликати схожі симптоми?

Так. Intel RSTe іноді дає схожі фризи.

Чи можна ігнорувати corrected ECC?

Ні. З часом corrected errors можуть перейти в uncorrectable.

Який тест найкращий?

MemTest86 та тестування DIMM модулів попарно.


Читайте також


Закладки

Якщо вам була корисна ця стаття, додайте наш блог про оперативну пам’ять та серверні помилки у закладки.

Натисніть Ctrl + D

Рекомендовані статті