Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
Hard LOCKUP / NMI watchdog detected lockup on CPU Linux / DevOps

Kernel panic: Hard LOCKUP / NMI watchdog detected lockup on CPU — Решение

Обновлено: 18.08.2026  ·  Официальная база знаний

Архитектура ошибки и симптомы сбоя

Сбой «Kernel panic - not syncing: Hard LOCKUP / NMI watchdog detected lockup on CPU» регистрируется сторожевым таймером NMI (Non-Maskable Interrupt Watchdog). Ошибка свидетельствует о том, что конкретное процессорное ядро (CPU core) зависло в цикле или deadlock с выключенными локальными прерываниями более чем на установленный таймаут (по умолчанию 10 секунд), перестав реагировать на базовые системные события.

Диагностическая таблица параметров сбоя

ПараметрЗначениеИнженерный смысл сбоя
NMI WatchdogAPIC Perf EventИспользует немаскируемые прерывания счетчиков производительности CPU для детекции глухих зависаний.
Hard LockupCPU StateЯдро процессора не способно обработать даже стандартные аппаратные таймеры.
kernel.watchdog_thresh10 (sec)Пороговое время отсутствия ответа ядра перед вызовом Kernel Panic.

Пошаговое дерево решений и сценарии траблшутинга

Сценарий 1: Анализ трассировки регистров и стека CPU

В дампе консоли обратите внимание на строку NMI backtrace for cpu X и имя функции в RIP:

  • Если стек указывает на функции блокировок (native_queued_spin_lock_slowpath) — имеет место взаимная блокировка (deadlock) драйвера.
  • Если стек указывает на функции энергосбережения (intel_idle, acpi_idle) — проблема в C-states процессора.

Сценарий 2: Отключение глубоких C-States процессора в GRUB

На многих серверах Intel/AMD зависание происходит при переходе ядер в режим энергосбережения:

# Добавьте в /etc/default/grub в строку GRUB_CMDLINE_LINUX:
intel_idle.max_cstate=1 processor.max_cstate=1 idle=poll

# Обновите конфигурацию GRUB:
sudo update-grub  # Для Ubuntu/Debian
sudo grub2-mkconfig -o /boot/grub2/grub.cfg  # Для CentOS/RHEL

Сценарий 3: Обновление микрокода CPU (Microcode)

# Для Ubuntu/Debian:
sudo apt-get install intel-microcode  # или amd64-microcode

# Для RHEL/CentOS:
sudo dnf install microcode_ctl
Серверы зависают под нагрузкой?
ITSTM проводит аудит аппаратной стабильности серверных платформ, тюнинг параметров ядра и внедрение систем предиктивного мониторинга.
Практический опыт инженера: В виртуализированных средах (KVM/Proxmox) Hard Lockup часто вызывается overcommit по vCPU. Убедитесь, что соотношение vCPU:pCPU не превышает 3:1 для высоконагруженных баз данных.

Частые вопросы (FAQ)

В чем разница между Hard Lockup и Soft Lockup?

При Soft Lockup процессор зависает в контексте ядра, но прерывания остаются включенными. При Hard Lockup ядро зависает с полностью отключенными аппаратными прерываниями, и обнаружить такой сбой способен только NMI watchdog.

Можно ли отключить NMI watchdog для предотвращения паники?

Команда 'sysctl -w kernel.nmi_watchdog=0' отключит сторожевой таймер, но это не устранит причину зависания — сервер просто повиснет намертво без вывода диагностического сообщения.