Температура процессора — это не просто цифры в мониторе, а жизненно важный показатель здоровья вашей Linux-системы. Перегрев ведёт к троттлингу (принудительному снижению частоты), нестабильной работе, а в долгосрочной перспективе — к сокращению срока служжи компонентов. К счастью, Linux предлагает богатый арсенал инструментов для мониторинга, от простых консольных утилит до красивых графических дашбордов. Давайте разберёмся, как держать руку на пульсе вашего CPU.
Почему это важно? Физика и последствия перегрева
Современные процессоры — чрезвычайно сложные и плотные микрочипы. При высокой нагрузке (игры, рендеринг, компиляция) они выделяют значительное количество тепла. Система охлаждения (кулер или радиатор) отводит это тепло. Если баланс нарушен, срабатывают механизмы защиты:
- Троттлинг (Throttling): Автоматическое снижение тактовой частоты для уменьшения тепловыделения. Производительность падает иногда катастрофически.
- Аварийное отключение: При критической температуре (обычно ~100-105°C) система мгновенно выключается, чтобы предотвратить физическое повреждение кристалла.
Важно: «Нормальная» температура зависит от модели CPU, нагрузки и системы охлаждения. В простое для десктопных CPU 30-45°C — хороший показатель, под нагрузкой 60-80°C может быть приемлемо. Для ноутбуков значения часто выше. Сверяйтесь со спецификациями производителя.
Инструменты мониторинга: от терминала до графики
В Linux всё начинается с командной строки. Ядро системы через интерфейсы ACPI, lm-sensors и другие предоставляет доступ к данным датчиков.
1. lm-sensors — фундамент
Пакет lm-sensors — это основа. Установите его (sudo apt install lm-sensors для Debian/Ubuntu или sudo pacman -S lm_sensors для Arch), затем выполните конфигурацию:
sudo sensors-detect— отвечайте «yes» на все вопросы для поиска датчиков.sudo systemctl restart kmod(может потребоваться перезагрузка).- Запустите
sensorsв терминале. Вы увидите вывод вроде:
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +37.0°C (high = +80.0°C, crit = +100.0°C)
Core 0: +36.0°C (high = +80.0°C, crit = +100.0°C)
Core 1: +35.0°C (high = +80.0°C, crit = +100.0°C)
2. Утилиты для терминала
- watch sensors:
watch -n 2 sensors— обновляет показания каждые 2 секунды. - psensor: Графическая утилита, строящая графики в реальном времени. Устанавливается как
psensor. - Glances: Мониторинг «всё-в-одном» (
sudo apt install glances). Показывает температуру, нагрузку, память, диски и сеть. - btop / htop: Продвинутые мониторы системы, некоторые версии отображают температуру.
3. Графические дашборды и виджеты
Для любителей визуализации:
- Conky: Крайне гибкий системный монитор, который можно настроить для вывода температуры на рабочий стол.
- GNOME Shell Extensions: Например, «Vitals» показывает температуру в строке состояния.
- KSysGuard (KDE) и System Monitor (GNOME) также могут отображать эти данные.
Что делать, если температура высокая? Практические шаги
- Проверьте физическое состояние: Выключите ПК, откройте корпус. Нет ли слоя пыли на радиаторах и вентиляторах? Очистите сжатым воздухом.
- Оцените качество термопасты: Термопаста между процессором и радиатором со временем (3-5 лет) высыхает и теряет свойства. Её замена может снизить температуру на 10-20°C.
- Настройте управление вентиляторами: Используйте
pwmconfig(из пакетаfancontrol) для создания более агрессивной кривой оборотов. - Оптимизируйте нагрузку: Найдите процессы, которые необоснованно нагружают CPU (
top,htop). - Рассмотрите апгрейд охлаждения: Более мощный кулер, башенный радиатор или даже СЖО (система жидкостного охлаждения).
Совет для ноутбуков: Используйте подставку с охлаждением. Проверьте, не забиты ли вентиляционные отверстия. Иногда помогает ограничение максимальной частоты CPU через cpupower или настройки энергосбережения.
Автоматизация и оповещения
Мониторинг должен быть proactive. Настройте скрипт для оповещения:
#!/bin/bash
TEMP=$(sensors | grep 'Package id 0' | awk '{print $4}' | sed 's/[^0-9.]//g')
CRITICAL=85
if (( $(echo "$TEMP > $CRITICAL" | bc -l) )); then
notify-send -u critical "ПЕРЕГРЕВ CPU!" "Температура: ${TEMP}°C"
# Можно добавить команду на снижение нагрузки или логирование
fi
Добавьте этот скрипт в cron для периодического выполнения (crontab -e).
FAQ: Часто задаваемые вопросы
Какая температура процессора считается нормальной в Linux?
В простое: 30-50°C. Под нагрузкой: 60-85°C. Критической обычно является отметка 95-105°C, после чего происходит аварийное отключение. Всегда сверяйтесь с документацией вашей модели CPU.
Почему lm-sensors не показывает температуру?
Возможно, не запущены нужные kernel-модули. Выполните sudo sensors-detect и ответьте «yes» на все вопросы. После перезагрузите систему или загрузите модули вручную (sudo modprobe coretemp и др.).
Как мониторить температуру на сервере без GUI?
Используйте sensors, watch sensors, ipmitool (для серверного железа с IPMI) или настройте вывод данных в системы мониторинга типа Zabbix, Prometheus + Node Exporter.
Влияет ли мониторинг на температуру?
Нет, сами утилиты мониторинга потребляют ничтожные ресурсы. Повышение температуры вызывают тяжёлые вычислительные задачи: компиляция, кодирование видео, современные игры.
Можно ли контролировать скорость вентиляторов в Linux?
Да, с помощью пакета fancontrol. После настройки через pwmconfig вы сможете задать гибкие зависимости скорости оборотов от температуры.