Звонок в 9 утра: “Прод тормозит так, будто работает на картошке!” Симптомы:

Nginx отвечает по 5-10 секунд SSH коннект устанавливается минуту Load Average зашкаливает при минимальной нагрузке

Первые подозреваемые:

  • DDoS? - Нет, трафик обычный
  • Память забита? - Свободно 80%
  • Диск умирает? - iostat в норме
  • Сеть? - ping до соседних серверов 0.2ms

Копаем глубже:

cat /proc/cpuinfo | grep "cpu MHz"
# cpu MHz : 200.000
# cpu MHz : 200.000

ЧЕГО?! 😱 Процессор работает на 200 MHz вместо 3200! Проверяем режим работы CPU:

cpupower frequency-info
# current CPU frequency: 200 MHz (asserted by call to hardware)
# boost state support: Supported: no, Active: no

Процессор в режиме максимального энергосбережения и отказывается разгоняться.

Проверили логи IPMI:

Power Supply 2 Failure Detected
System Running in Power Capping Mode

Один из двух блоков питания вышел из строя! Сервер автоматически перешел в режим защиты, снизив частоту CPU до минимума. Временное решение:

# Отключили power capping через IPMI
ipmitool raw 0x30 0x81 0x00 0x00 0x00

Частота поднялась до 800 MHz - хотя бы что-то. Правильное решение: Заменили блок питания, и сервер ожил на полную мощность.

Уроки:

  • Железо тоже ломается - не зацикливайтесь только на софте
  • IPMI/iDRAC - ваш друг - там есть ответы на многие вопросы
  • Мониторьте железо: температуру CPU/RAM, статус блоков питания, скорость вентиляторов, частоту процессора

Добавьте в мониторинг:

# Alertmanager rule
- alert: CPUFrequencyLow
  expr: node_cpu_frequency_hertz < 1000000000
  annotations:
    summary: "CPU frequency critically low on {{ $labels.instance }}"

P.S. Теперь у меня в чек-листе траблшутинга появился пункт “Проверить частоту CPU”.