Команда sensors в консоли Proxmox возвращает пустой вывод или ошибку «No sensors found» — типичный первый признак того, что на узле гипервизора не настроен мониторинг температуры процессора. Без этих данных невозможно понять, не перегревается ли сервер под нагрузкой виртуальных машин, и вовремя среагировать на проблемы с охлаждением.
Proxmox VE построен на Debian, поэтому для чтения датчиков используются стандартные инструменты Linux — пакет lm-sensors. В этой статье разберём, как установить и настроить мониторинг, вывести температуру в веб-интерфейс, какие значения считать нормальными и что делать при перегреве.
Почему в Proxmox нет температуры из коробки
По умолчанию веб-интерфейс Proxmox показывает загрузку CPU, память, диски и сеть, но температура процессора в стандартной сводке узла отсутствует. Это не ошибка — просто разработчики не включили отображение сенсоров в базовую панель, поскольку аппаратные датчики сильно различаются между платформами.
Данные о температуре ядер процессора обычно предоставляет модуль ядра coretemp (для Intel) или k10temp (для AMD). Если соответствующий модуль не загружен, система просто не видит датчики, и любые утилиты мониторинга покажут пустоту.
Проверить, загружен ли модуль, можно командой lsmod | grep coretemp для Intel-процессора. Пустой ответ означает, что модуль нужно загрузить вручную — об этом ниже.
Установка lm-sensors и первичная проверка
Все действия выполняются в консоли узла Proxmox — через SSH или через веб-интерфейс: выберите узел и откройте пункт Shell. Первым делом установите пакет lm-sensors:
apt update && apt install lm-sensors -y
После установки запустите автоматическое определение датчиков. Утилита просканирует шины и предложит загрузить подходящие модули ядра:
sensors-detect
На большинство вопросов можно отвечать yes, а в конце согласиться на автоматическую запись найденных модулей в /etc/modules. Затем проверьте результат:
sensors
☑️ Настройка мониторинга температуры в Proxmox
⚠️ Внимание: команда sensors-detect зондирует аппаратные шины, и на отдельных серверных платах это теоретически может вызвать кратковременные сбои работы BMC или систем мониторинга самой платы. На боевом сервере под нагрузкой выполняйте сканирование в период минимальной нагрузки.
Если sensors не видит датчики процессора
Бывает, что sensors-detect отработал, но температуры ядер нет. В этом случае загрузите модуль вручную. Для Intel:
modprobe coretemp
Для процессоров AMD модуль называется k10temp (на новых платформах может использоваться zenpower из сторонних репозиториев, но это уже нештатное решение). Чтобы модуль загружался автоматически после перезагрузки, добавьте его имя в файл /etc/modules отдельной строкой.
После загрузки модуля повторите sensors — в выводе должна появиться секция coretemp-isa-0000 с температурами Package id 0 и отдельных ядер Core 0, Core 1 и так далее.
Какие температуры считаются нормальными
Универсальной нормы не существует: допустимый диапазон зависит от конкретной модели процессора. Точный лимит называется Tjunction (или TjMax) — это температура, при которой процессор начинает сбрасывать частоты (троттлинг) для защиты от повреждения. У многих настольных и серверных чипов это значение находится в районе 90–105 °C, но сверяться нужно со спецификацией вашей модели на сайте производителя.
Ориентировочные ориентиры для типового сервера под Proxmox:
- 🌡️ До 50 °C — комфортный режим в простое и при лёгкой нагрузке;
- 📊 50–70 °C — нормальная рабочая зона под нагрузкой виртуальных машин;
- 🔥 70–85 °C — допустимо кратковременно, но стоит проверить охлаждение;
- 🚨 Выше 85–90 °C — зона риска, вероятен троттлинг и деградация производительности.
В выводе sensors для каждого датчика часто указаны поля high и crit — это пороговые значения, зашитые производителем. Ориентируйтесь в первую очередь на них, а не на усреднённые таблицы из интернета.
Вывод температуры в веб-интерфейс Proxmox
Штатными средствами веб-интерфейс Proxmox температуру не отображает, но существует популярное решение — модификация Proxmox VE temps (скрипт, который добавляет показания сенсоров в сводку узла). Он работает через правку файлов интерфейса pve-manager и подгружает данные из sensors.
⚠️ Внимание: любые сторонние модификации веб-интерфейса слетают при обновлении пакета pve-manager и не поддерживаются разработчиками Proxmox. Перед изменением делайте резервные копии редактируемых файлов, а после каждого обновления проверяйте работоспособность панели.
Альтернатива без правки системных файлов — внешний мониторинг. Данные с sensors можно собирать через Zabbix, Prometheus с node_exporter (метрики hwmon) или Netdata, а затем строить графики и настраивать оповещения. Такой подход надёжнее для промышленной эксплуатации и не зависит от обновлений Proxmox.
Как узнать температуру внутри виртуальной машины
Внутри ВМ датчики физического процессора обычно недоступны — гипервизор виртуализирует CPU без thermal-сенсоров. Температуру железа нужно смотреть на самом узле Proxmox. В гостевой системе можно контролировать только нагрузку (load average, %CPU), а не градусы.
Причины перегрева и способы снизить температуру
Если sensors стабильно показывает высокие значения, причина почти всегда физическая, а не программная. Начните проверку с простого:
- 🧹 Пыль в радиаторе и вентиляторах — самая частая причина роста температуры со временем;
- 🌀 Остановившийся или деградировавший вентилятор — проверьте обороты через
sensors(секция fan) или IPMI; - 🧴 Высохшая термопаста — характерно для серверов старше нескольких лет;
- 🌡️ Жаркий помещение или плохая вентиляция стойки — температура входящего воздуха напрямую влияет на нагрев CPU;
- ⚙️ Постоянная 100% нагрузка от ВМ — проверьте
topилиhtop, возможно, какая-то виртуалка «съела» все ядра.
На уровне Proxmox можно снизить нагрев, ограничив ресурсы: задайте лимит cpulimit для прожорливых ВМ, настройте CPU-планировщик или включите режим энергосбережения через cpufreq (governor powersave вместо performance). Это уменьшит тепловыделение ценой некоторой потери производительности.
⚠️ Внимание: замена термопасты и чистка системы охлаждения требуют выключения сервера и частичной разборки. Если узел входит в кластер, заранее мигрируйте виртуальные машины на другие узлы и переведите сервер в режим обслуживания.
| Метод мониторинга | Где смотреть | Оповещения | Сложность настройки |
|---|---|---|---|
| lm-sensors (команда sensors) | Консоль узла | Нет | Минимальная |
| Мод веб-интерфейса | Сводка узла в GUI | Нет | Средняя, слетает при обновлениях |
| Zabbix / Prometheus | Внешняя панель | Да, гибкие | Высокая |
| Netdata | Веб-панель на порту 19999 | Да, базовые | Низкая |
| IPMI / iDRAC / iLO | Интерфейс BMC платы | Зависит от платформы | Требует BMC на сервере |
Настройка оповещений о перегреве
Разовый запуск sensors не защитит сервер ночью или в выходные — нужен автоматический контроль. Простейший вариант: скрипт, который парсит вывод sensors, сравнивает значение с порогом и отправляет письмо через встроенный почтовый механизм Proxmox, повешенный на cron.
Более правильный путь — мониторинг через Zabbix или Prometheus с триггером на превышение порога температуры. Там же удобно настроить гистерезис: алерт при превышении, например, 80 °C и снятие алерта при возврате ниже 75 °C, чтобы не получать дублирующиеся уведомления.
Не забудьте проверить, что почтовые уведомления Proxmox вообще работают: в разделе Datacenter → Options → Email from address должен быть задан отправитель, а у пользователя root — корректный адрес получателя.
Частые вопросы
Почему sensors показывает только температуру дисков, но не процессора?
Температура NVMe-дисков доступна через отдельный интерфейс ядра и не требует coretemp. Если видны только диски — модуль датчиков CPU не загружен. Выполните modprobe coretemp (Intel) или modprobe k10temp (AMD) и повторите проверку.
Можно ли смотреть температуру процессора изнутри виртуальной машины?
Нет, в типовой конфигурации гостевая система не имеет доступа к физическим термодатчикам хоста. Мониторить температуру железа нужно на самом узле Proxmox или через BMC сервера.
Пропадёт ли настройка lm-sensors после обновления Proxmox?
Сам пакет lm-sensors и записи в /etc/modules при обновлениях сохраняются. А вот сторонние модификации веб-интерфейса (отображение температуры в GUI) перезаписываются при обновлении pve-manager — их придётся применять заново.
Температура 90+ °C, но сервер работает стабильно. Это опасно?
Процессор защищает себя троттлингом, поэтому внезапного выхода из строя обычно не происходит, но постоянная работа на пределе сокращает ресурс чипа и соседних компонентов платы. Проверьте охлаждение и сравните показания с лимитом Tjunction вашей модели.
Как посмотреть температуру на сервере с IPMI?
Если плата оснащена BMC (IPMI, iDRAC, iLO), температуры доступны через интерфейс управления или командой ipmitool sdr type temperature на самом узле при установленном пакете ipmitool. Эти данные независимы от lm-sensors и часто точнее отражают состояние серверной платформы.