Что понадобится:
- Права администратора (root) в операционной системе Linux.
- Пакеты
lm_sensorsиi2c-tools, доступные в репозиториях дистрибутива. - Терминал для выполнения команд.
Контроль за нагревом комплектующих персонального компьютера играет ключевую роль в обеспечении стабильной работы системы. Подсистема аппаратного мониторинга ядре Linux предоставляет унифицированные интерфейсы для сбора данных о вольтаже, скорости вращения вентиляторов и температурных показателях. Если вы ищете инструменты для контроля производительности в других ОС, например, для Windows, вам может пригодиться Intel PresentMon, тогда как для Linux стандартом де-факто выступает семейство утилит lm_sensors.
Установка и подготовка компонентов
Первым шагом для считывания показателей датчиков является инсталляция программного обеспечения. Пакет lm_sensors содержит набор свободных инструментов и драйверов, необходимых для опроса встроенных термодатчиков процессора, южных мостов и контроллеров.
- Откройте терминал с правами суперпользователя.
- Установите пакет
lm_sensorsс помощью пакетного менеджера вашего дистрибутива (например, через pacman в Arch Linux).
После завершения инсталляции потребуется запустить процедуру сканирования для определения доступных микросхем и активации нужных драйверов ядра.
Автоматическое определение датчиков
Для поиска и генерации списка необходимых модулей ядра используется специальная утилита. Вы можете запустить интерактивный процесс или воспользоваться автоматическим принятием безопасных конфигураций.
- Запустите процесс сканирования в терминале от имени root:
sensors-detect
- Отвечайте на вопросы системы, нажимая клавишу Enter для подтверждения безопасных вариантов по умолчанию. Программа проверит наличие встроенных термодатчиков в процессорах, контроллерах памяти и системной логике.
По завершении работы скрипта будет предложено сохранить конфигурацию в файл /etc/conf.d/lm_sensors, который используется системной службой для автоматической загрузки необходимых модулей при старте операционной системы. Подтверждение записи автоматически активирует и запускает соответствующую службу systemd.
Подключение датчиков температуры оперативной памяти
Для мониторинга планок оперативной памяти стандарта DIMM стандартных средств lm_sensors может не хватить. Потребуется установка дополнительного пакета i2c-tools, который отвечает за взаимодействие с шиной SMBus и автоматически подгружает модуль ядра i2c-dev.
- Установите пакет
i2c-toolsчерез менеджер пакетов. - Загрузите модуль шины в оперативную память командой:
modprobe i2c_dev
- Выведите список доступных шин и адаптеров с помощью утилиты:
i2cdetect -l
- Просканируйте конкретную шину (например, шину номер 0), чтобы обнаружить адреса подключенных устройств:
i2cdetect -y 0
Обычно микросхемы SPD на модулях памяти располагаются начиная с адреса 0x50, а специализированные термодатчики DIMM — с адреса 0x18 и 0x19 на той же шине. Для считывания этих данных требуется активировать драйвер jc42 и передать ему обнаруженные адреса.
- Загрузите модуль поддержки термодатчиков памяти:
modprobe jc42
- Запишите имя модуля и адрес устройства в специальный системный файл для инициализации:
echo jc42 0x18 > /sys/bus/i2c/devices/i2c-0/new_device
echo jc42 0x19 > /sys/bus/i2c/devices/i2c-0/new_device
После выполнения этих манипуляций вы сможете увидеть актуальные данные о нагреве планок памяти, выполнив базовую команду опроса датчиков.
sensors
В выводе утилиты появятся новые блоки, отображающие текущую температуру модулей памяти в градусах Цельсия, а также установленные критические пороги срабатывания тревоги.
Если не получилось
Если после завершения всех процедур команда sensors не выводит информацию о процессоре или материнской плате, проверьте следующие моменты:
- Убедитесь, что соответствующие модули ядра загружены в систему. Проверить это можно командой
lsmod, а загрузить недостающие компоненты вручную — черезmodprobe(например,coretempдля процессоров Intel). - Убедитесь, что служба
lm_sensors.serviceактивна и не выдает ошибок при запуске в systemd. - Если датчики памяти не определяются на шине SMBus, проверьте правильность указанного номера шины в утилите
i2cdetect, так как на вашей материнской плате нужные порты могут иметь другой индекс.




