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

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

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

Траблшутинг загрузки Linux: параметры nomodeset, pci=noaer, noapic и isolcpus

Обновлено: 21.08.2026
  • Черный экран или зависание IPMI видеоконсоли на этапе инициализации KMS DRM драйвера.
  • Системный журнал переполнен миллионами сообщений PCIe Bus Error: severity=Corrected.
  • Сервер зависает на этапе Calibrating delay loop... из-за сбоев контроллера прерываний APIC.
  • Нестабильная задержка (Jitter) в high-load и low-latency приложениях.

1. Назначение базовых аварийных параметров

  • nomodeset: отключает раннюю загрузку видеодрайверов ядра (Intel/Nvidia/Radeon KMS).
  • pci=noaer: отключает логирование PCIe Advanced Error Reporting (устраняет спам в dmesg).
  • noapic acpi=noirq: обходит аппаратные ошибки маршутизации прерываний чипсета.
  • isolcpus=2-7 nohz_full=2-7: изолирует ядра CPU от общего планировщика для Real-Time задач.

2. Постоянная настройка параметров в GRUB2

Отредактируйте /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset pci=noaer isolcpus=2-3"

3. Компиляция конфигурации загрузчика

# Debian / Ubuntu:
update-grub

# RHEL / CentOS / Rocky Linux:
grub2-mkconfig -o /boot/grub2/grub.cfg
# (Для UEFI: /boot/efi/EFI/rocky/grub.cfg)

4. Проверка примененных параметров ядра после ребута

cat /proc/cmdline
Практический опыт инженера: Параметр pci=noaer только скрывает спам сообщений в журнале, но не чинит поврежденный кабель или плохой контакт в PCIe слоте. Используйте его как временное решение до планового техобслуживания железа.

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

Как применить boot-параметр однократно без изменения файлов GRUB?

В меню выбора ядра GRUB нажмите клавишу 'e', допишите нужный параметр (например, nomodeset) в конец строки, начинающейся с 'linux', и нажмите Ctrl+X или F10 для старта.

Как запустить процесс на ядрах, изолированных через isolcpus?

Используйте утилиту taskset: taskset -c 2,3 /usr/local/bin/my_app.