Event ID 42 Kernel-Power: The system is entering sleep — исправление
Симптомы самопроизвольного засыпания сервера (Event ID 42)
Сервер неожиданно перестает отвечать по сети, сбрасывает все активные подключения пользователей RDP, останавливает службы баз данных и виртуальные машины. Доступ к серверу восстанавливается только после физического нажатия кнопки включения или отправки команды Wake-on-LAN. В журнале System регистрируется событие Event ID 42 Kernel-Power.
| Параметр | Значение |
|---|---|
| Имя журнала | System |
| Источник | Microsoft-Windows-Kernel-Power |
| Код события | Event ID 42 |
| Уровень | Information |
| Текст сообщения | The system is entering sleep. Sleep Reason: Application API / System Idle / Battery / Button. |
Данное событие означает, что операционная система перевела компьютер в режим пониженного энергопотребления (S1/S3 Sleep или S4 Hibernate). Для серверных систем данный режим является недопустимым и свидетельствует о некорректных планах электропитания или сбоях ИБП (UPS).
Полное отключение режимов сна и гибернации на сервере
- Анализ причины перехода в спящий режим: Проверьте параметр Sleep Reason в теле события 42:
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-Kernel-Power'; Id=42} -MaxEvents 3 | Format-List TimeCreated, Message - Отключение сна и тайм-аутов простоя через Powercfg: Запретите перевод сервера в спящий режим при работе от сети и батареи:
# Установка таймаута сна в 0 (Никогда): powercfg /change standby-timeout-ac 0 powercfg /change standby-timeout-dc 0 powercfg /change monitor-timeout-ac 0 # Полное отключение файла гибернации (hiberfil.sys): powercfg -h off - Настройка политик электропитания через Group Policy (GPO):
- Откройте редактор GPO -> Конфигурация компьютера -> Административные шаблоны -> Система -> Управление электропитанием -> Параметры сна.
- Включите параметр: «Разрешить приложениям предотвращать автоматический переход в спящий режим».
- Отключите параметр: «Переход в спящий режим при простое системы» (установите значение 0).
- Проверка сигналов от источников бесперебойного питания (ИБП): Проверьте управляющее ПО UPS (PowerChute, PowerMaster). При ложном сигнале о разряде батареи управляющая служба может инициировать переход в сон.
Серверное правило: На любых физических и виртуальных серверах Windows Server файл гибернации должен быть обязательно отключен командой powercfg -h off, что также освобождает объем дискового пространства на диске C:, равный объему RAM.
Частые вопросы (FAQ)
Что означает Sleep Reason: System Idle в событии 42?
Это означает, что операционная система зафиксировала отсутствие действий пользователя (мышь, клавиатура, RDP) в течение интервала времени, заданного в профиле питания, и перевела сервер в спящий режим.
Что означает Sleep Reason: Application API?
Переход в спящий режим был вызван программным вызовом системной функции SetSystemPowerState сторонней утилитой (например, скриптом резервного копирования или агентом ИБП).
Как запретить сетевой карте отключаться для экономии энергии?
В свойствах сетевого адаптера в Диспетчере устройств перейдите на вкладку 'Управление электропитанием' и снимите флаг 'Разрешить отключение этого устройства для экономии энергии'.
Какое событие фиксируется при пробуждении системы?
При возврате из спящего режима служба Kernel-Power регистрирует событие Event ID 107 ('The system has resumed from sleep').