- lm_sensors (Русский)
- Contents
- Установка
- Настройка
- Просмотр датчиков
- Добавление температурных датчиков модулей памяти
- Считывание SPD-значений из памяти модулей (необязательно)
- Использование данных датчиков
- Графические фронтэнды
- sensord
- Советы и рекомендации
- Регулировка значений
- Пример 1. Регулировка температурных смещений
- Пример 2. Переименование параметров
- Пример 3. Изменение нумерации ядер для многопроцессорных систем
- Автоматизация развертывания lm_sensors
- Решение проблем
- Модуль K10Temp
- Материнские платы Asus B450M-A/A320M-K/A320M-K-BR
- Материнские платы Asus B450/X399/X470 с сокетом AM4
- Материнские платы Asus H97/Z97/Z170/X570/B550
- Материнские платы Gigabyte B250/Z370/B450M
- Gigabyte GA-J1900N-D3V
- lm_sensors
- Contents
- Installation
- Setup
- Running sensors
- Adding DIMM Temperature sensors
- Reading SPD values from memory modules (optional)
- Using sensor data
- Graphical front-ends
- sensord
- Tips and tricks
- Adjusting values
- Example 1. Adjusting temperature offsets
- Example 2. Renaming labels
- Example 3. Renumbering cores for multi-CPU systems
- Automatic lm_sensors deployment
- Troubleshooting
- K10Temp module
- Asus B450M-A/A320M-K/A320M-K-BR motherboards
- Asus B450/X399/X470 motherboards with AM4 Socket
- Asus H97/Z97/Z170/X570/B550 motherboards
- Gigabyte B250/Z370/B450M motherboards
- Gigabyte GA-J1900N-D3V
lm_sensors (Русский)
lm_sensors (Linux monitoring sensors) — свободное ПО, состоящее из драйверов и утилит, позволяющее отслеживать температуру, напряжение, скорости вращения вентиляторов в вашей системе. Следует помнить, что набор датчиков индивидуален для каждой системы, поэтому некоторые возможности могут быть недоступны.
Contents
Установка
Настройка
Используйте от суперпользователя sensors-detect для обнаружения и формирования списка модулей ядра:
В результате будет создан конфигурационный файл /etc/conf.d/lm_sensors , используемый демоном sensors , который автоматически активируется ядром при загрузке. Программа будет задавать вопросы по различному железу. «Безопасные» ответы предусмотрены по умолчанию, так что слепое нажатие Enter на все вопросы не должно вызвать никаких проблем.
По окончанию определения датчиков будут доступны снимаемые ими значения.
Просмотр датчиков
Пример запуска sensors :
Добавление температурных датчиков модулей памяти
This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.
Для обнаружения температурных датчиков модулей памяти установите пакет i2c-tools . После установки загрузите i2c-dev модуль ядра.
Затем найдём шины следующей командой:
Вывод будет примерно следующий:
В данном примере взята система, на которой планки памяти подключены к шине SMBus 0. Команд i2cdetect покажет устройства, которые подключены к шине. Аргумент «-y 0» означает использование i2c-0 smbus. Вы можете проверить другие шины, если необходимо.
команда выдаст таблицу:
SPD оперативной памяти начинается с адреса 0x50, температурные датчики ОЗУ начинаются с 0x18 на этой шине. В приведённой в пример системе доступно два DIMM. Соответственно, адреса температурных датчиков: 0x18 и 0x19.
После нахождения этой информации для чтения температурных показаний с планок памяти нужно загрузить jc42 модуль ядра. После этого нужно сообщить модулю адреса, которые необходимо использовать, записав » » в » к smbus».
После этого температура ваших планок памяти будет видна по команде sensors
Считывание SPD-значений из памяти модулей (необязательно)
Чтобы получить значения таймингов SPD с модулей памяти, установите i2c-tools . После установки загрузите eeprom модуль ядра.
Теперь можно просмотреть значения с помощью decode-dimms .
Вот часть вывода с одной машины:
Использование данных датчиков
Графические фронтэнды
Существует множество разнообразных фронтэндов для отображения данных датчиков.
- psensor — GTK приложение для отслеживания аппаратных датчиков, включая температуры и скорости вентиляторов. Отслеживает материнскую плату и центральный процессор (используя lm-sensors), Nvidia GPUs (используя XNVCtrl), и жёсткие диски (используя hddtemp или libatasmart).
https://wpitchoune.net/psensor/ || psensor
- xsensors — X11 интерфейс к lm_sensors.
https://linuxhardware.org/xsensors/ || xsensors
- Freon (расширение GNOME Shell) — Расширение выводит на экран температуры ЦП, дисков, видеокарты, напряжения и оборотов вентилятора в GNOME Shell.
https://github.com/UshakovVasilii/gnome-shell-extension-freon || gnome-shell-extension-freonAUR
- GNOME Sensors Applet — Апплет панели GNOME для отображения значений аппаратных датчиков, включая температуру ЦП, скорость вращения вентиляторов и вольтаж.
http://sensors-applet.sourceforge.net/ || sensors-applet
- lm-sensors (LXPanel plugin) — Отслеживает температуру/вольтаж/скорости вентиляторов in LXDE с помощью lm-sensors.
https://danamlund.dk/sensors_lxpanel_plugin/ || sensors-lxpanel-pluginAUR
- MATE Sensors Applet — Отображает считанные значения аппаратных датчиков на вашей панели MATE.
https://github.com/mate-desktop/mate-sensors-applet || mate-sensors-applet
- Sensors (Xfce4 panel plugin) — Hardware sensors плагин для панели Xfce.
https://goodies.xfce.org/projects/panel-plugins/xfce4-sensors-plugin || xfce4-sensors-plugin
- Thermal Monitor (Plasma 5 applet) — Апплет KDE Plasma для мониторинга CPU, GPU и других доступных датчиков температуры.
https://gitlab.com/agurenko/plasma-applet-thermal-monitor || plasma5-applets-thermal-monitor-gitAUR
sensord
Существует дополнительный демон sensord (включен в пакет lm_sensors ), позволяющий журналировать данные с сенсоров в кольцевые базы данных (rrd) для последующей визуализации. Смотрите ман sensord(8) для уточнения деталей.
Советы и рекомендации
Регулировка значений
В некоторых случаях отображаемые данные могут быть неверными или пользователи могут захотеть изменить вывод. К ним относятся:
- Неправильные значения температуры из-за неправильного смещения (к примеру температура отображается на 20 ° C текущей).
- Имеется потребность переименовать вывод для некоторых датчиков.
- Ядра могут быть отображены в неправильном порядке.
Все вышеперечисленное (и многое другое) можно регулировать переопределив настройки программы, указанные в /etc/sensors3.conf путем создания файла /etc/sensors.d/foo , в котором можно будет переопределять любые настройки, используемые по умолчанию. Рекомендуется переименовать ‘foo’ в соответствии с серией и моделью материнской платы, однако строгость в названии не является обязательной.
Пример 1. Регулировка температурных смещений
Это реальный пример для системной платы Zotac ION-ITX-A-U. Значения coretemp смещены на 20 °C (более выше) и отрегулированы в соответствии со спецификацией Intel.
Запустим sensors с параметром -u , чтобы увидеть, какие параметры доступны для каждого физического чипа (сырой режим)
Создаем следующий файл для переопределения значений по умолчанию:
Теперь вызов sensors отобразит настроенные значения:
Пример 2. Переименование параметров
Это реальный пример для системной платы Asus A7M266. Требуется указать более подробные названия значений температуры ‘temp1’ and ‘temp2’:
Создаем следующий файл, чтобы переопределить значения по умолчанию:
Теперь вызов sensors отобразит настроенные значения:
Пример 3. Изменение нумерации ядер для многопроцессорных систем
Это реальный пример на HP Z600 workstation с двумя Xeon. Текущая нумерация физических ядер неверно: пронумерованы 0, 1, 9, 10, который повторяются во втором процессоре. Требуется получать значения температур ядер в последовательном порядке, т.е. 0,1,2,3,4,5,6,7.
Опять же, запустим sensors с параметром -u , чтобы увидеть, какие варианты доступны для каждого физического чипа:
Создадим следующий файл переопределения значения по умолчанию:
Теперь вызов sensors отобразит настроенные значения:
Автоматизация развертывания lm_sensors
Если потребуется развернуть lm_sensors на нескольких машинах можно использовать следующую команду для принятия ответов по умолчанию на все вопросы:
Решение проблем
Модуль K10Temp
У некоторых процессоров K10 имеются проблемы с датчиком температуры. Для получения подробностей смотрите документацию к k10temp.
На проблемных машинах модуль сообщит «unreliable CPU thermal sensor; monitoring disabled». Можно принудительно загрузить его:
Убедитесь, что датчик действительно является достоверными и надежными. Если это так, то можно отредактировать /etc/modprobe.d/k10temp.conf , добавив:
Это позволит подгрузить модуль при загрузке системы.
Материнские платы Asus B450M-A/A320M-K/A320M-K-BR
Эти платы используют чип IT8655E, который не поддерживается драйвером ядра it87, на Ноябрь 2020 [1]. Однако, чип поддерживается в апстрим-версии драйвера ядра [2]. Имеется DKMS вариант it87-dkms-git AUR .
Материнские платы Asus B450/X399/X470 с сокетом AM4
Некоторые последние платы Asus используют чип ITE IT8665E, доступ к датчиком температур, вентиляторов и вольтажа может требовать модуля asus-wmi-sensors . Установите asus-wmi-sensors-dkms-git AUR и загрузите модуль ядра asus-wmi-sensors , модуль использует интерфейс UEFI и может требовать обновления BIOS для некоторых плат [3].
Другой способ: модуль it87 считывает значения с чипа напрямую; установите it87-dkms-git AUR и загрузите модуль ядра it87 .
Материнские платы Asus H97/Z97/Z170/X570/B550
Некоторые последние платы Asus требуют загруженного модуля ядра nct6775 для доступа к вентиляторам и вольтажу.
Вам также, вероятно, понадобится добавить следующий параметр ядра:
Материнские платы Gigabyte B250/Z370/B450M
Некоторые платы Gigabyte используют чип ITE IT8686E, которй не поддерживается драйвером ядра it87, на май 2019 [4]. Однако, чип поддерживается в апстрим-версии драйвера ядра [5]. Имеется DKMS вариант it87-dkms-git AUR . Перед установкой модуля также требуется добавить параметр ядра:
Кроме этого, укажите идентификатор чипа при загрузке модуля следующим образом:
Или вы можете загружать модуль в процессе загрузки системы, создав два файла:
Как модуль будет загружен, используйте sensors для исследования чипа. Теперь вы также можете использовать fancontrol для управления скорости вращения вашего вентилятора корпуса.
В дополнение установка zenpower-dkms AUR позволит тонко настроить систему охлаждения материнской платы, однако отключит стандартный модуль k10temp.
Gigabyte GA-J1900N-D3V
Эта материнская плата использует чип ITE IT8620E (useful also to read voltages, mainboard temp, скоростей вентилятора). На октябрь 2014 lm_sensors не имеет драйвера с поддержкой чипа ITE IT8620E [6] [7]. Разработчики lm_sensors сообщили, что чип частично совместим с IT8728F для мониторинга части аппаратных ресурсов. Однако, на август 2016, представлены списки с поддержкой IT8620E [8].
Вы можете загрузить модуль в рантайме:
Или вы можете загружать модуль в процессе загрузки системы, создав два файла:
Как модуль будет загружен, используйте sensors для исследования чипа.
Теперь вы также можете использовать fancontrol для управления скорости вращения вашего вентилятора корпуса.
Источник
lm_sensors
lm_sensors (Linux monitoring sensors) is a free and open-source application that provides tools and drivers for monitoring temperatures, voltage, and fans. This document explains how to install, configure, and use lm_sensors.
Contents
Installation
Setup
Use sensors-detect as root to detect and generate a list of kernel modules:
It will ask to probe for various hardware. The «safe» answers are the defaults, so just hitting Enter to all the questions will generally not cause any problems. This will create the /etc/conf.d/lm_sensors configuration file which is used by lm_sensors.service to automatically load kernel modules on boot.
When the detection is finished, a summary of the probes is presented.
Running sensors
Example running sensors :
Adding DIMM Temperature sensors
This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.
To find the temperature sensors of DIMMs, install the i2c-tools package. Once installed, load the i2c-dev kernel module.
Than search buses with this command.
This will show the SMBuses like:
In my system, RAM sticks connected to the bus is SMBus 0. i2cdetect command will show the devices that connected to the bus. The «-y 0» argument means use i2c-0 smbus. You can check other buses if needed.
command will gives the table:
RAM SPD’s are start from address 0x50 and RAM temp sensors start from 0x18 at same bus. In my system, there are 2 DIMMs available. So address of 0x18 and 0x19 are DIMMs temp sensors.
After found this info, to read temperatures of RAM sticks, we need jc42 kernel module loaded. After that you need to tell to module that which addresses are need to used. Process is writing to smbus
After that your ram sticks temperature will be visible on sensors command
Reading SPD values from memory modules (optional)
To read the SPD timing values from memory modules, install the i2c-tools package. Once installed, load the eeprom kernel module.
Finally, view memory information with decode-dimms .
Here is partial output from one machine:
Using sensor data
Graphical front-ends
There are a variety of front-ends for sensors data.
- psensor — GTK application for monitoring hardware sensors, including temperatures and fan speeds. Monitors motherboard and CPU (using lm-sensors), Nvidia GPUs (using XNVCtrl), and harddisks (using hddtemp or libatasmart).
https://wpitchoune.net/psensor/ || psensor
- xsensors — X11 interface to lm_sensors.
https://linuxhardware.org/xsensors/ || xsensors
- Freon (GNOME Shell extension) — Extension for displaying CPU temperature, disk temperature, video card temperature , voltage and fan RPM in GNOME Shell.
https://github.com/UshakovVasilii/gnome-shell-extension-freon || gnome-shell-extension-freonAUR
- GNOME Sensors Applet — Applet for the GNOME Panel to display readings from hardware sensors, including CPU temperature, fan speeds and voltage readings.
http://sensors-applet.sourceforge.net/ || sensors-applet
- lm-sensors (LXPanel plugin) — Monitor temperature/voltages/fan speeds in LXDE through lm-sensors.
https://danamlund.dk/sensors_lxpanel_plugin/ || sensors-lxpanel-pluginAUR
- MATE Sensors Applet — Display readings from hardware sensors in your MATE panel.
https://github.com/mate-desktop/mate-sensors-applet || mate-sensors-applet
- Sensors (Xfce4 panel plugin) — Hardware sensors plugin for the Xfce panel.
https://goodies.xfce.org/projects/panel-plugins/xfce4-sensors-plugin || xfce4-sensors-plugin
- Thermal Monitor (Plasma 5 applet) — KDE Plasma applet for monitoring CPU, GPU and other available temperature sensors.
https://gitlab.com/agurenko/plasma-applet-thermal-monitor || plasma5-applets-thermal-monitor-gitAUR
sensord
There is an optional daemon called sensord (included with the lm_sensors package) which can log data to a round robin database (rrd) and later visualize graphically. See the sensord(8) man page for details.
Tips and tricks
Adjusting values
In some cases, the data displayed might be incorrect or users may wish to rename the output. Use cases include:
- Incorrect temperature values due to a wrong offset (i.e. temps are reported 20 °C higher than actual).
- Users wish to rename the output of some sensors.
- The cores might be displayed in an incorrect order.
All of the above (and more) can be adjusted by overriding the package provides settings in /etc/sensors3.conf by creating /etc/sensors.d/foo wherein any number of tweaks will override the default values. It is recommended to rename ‘foo’ to the motherboard brand and model but this naming nomenclature is optional.
Example 1. Adjusting temperature offsets
This is a real example on a Zotac ION-ITX-A-U motherboard. The coretemp values are off by 20 °C (too high) and are adjusted down to Intel specs.
Run sensors with the -u switch to see what options are available for each physical chip (raw mode):
Create the following file overriding the default values:
Now invoking sensors shows the adjust values:
Example 2. Renaming labels
This is a real example on an Asus A7M266. The user wishes more verbose names for the temperature labels temp1 and temp2 :
Create the following file to override the default values:
Now invoking sensors shows the adjust values:
Example 3. Renumbering cores for multi-CPU systems
This is a real example on an HP Z600 workstation with dual Xeons. The actual numbering of physical cores is incorrect: numbered 0, 1, 9, 10 which is repeated into the second CPU. Most users expect the core temperatures to report out in sequential order, i.e. 0,1,2,3,4,5,6,7.
Again, run sensors with the -u switch to see what options are available for each physical chip:
Create the following file overriding the default values:
Now invoking sensors shows the adjust values:
Automatic lm_sensors deployment
Users wishing to deploy lm_sensors on multiple machines can use the following to accept the defaults to all questions:
Troubleshooting
K10Temp module
Some K10 processors have issues with their temperature sensor. See the k10temp documentation for more information.
On affected machines the module will report «unreliable CPU thermal sensor; monitoring disabled». To force monitoring anyway, you can run the following:
Confirm that the sensor is in fact valid and reliable. If it is, can edit /etc/modprobe.d/k10temp.conf and add:
This will allow the module to load at boot.
Asus B450M-A/A320M-K/A320M-K-BR motherboards
These motherboards use a IT8655E chip, which is not supported by the it87 kernel driver, as of Nov 2020 [1]. However, it is supported by the upstream version of the kernel driver [2]. The DKMS variant is contained in it87-dkms-git AUR .
Asus B450/X399/X470 motherboards with AM4 Socket
Some recent Asus motherboards use a ITE IT8665E chip, accessing the temperature, fan and voltage sensors may require the asus-wmi-sensors module. Install asus-wmi-sensors-dkms-git AUR and load the asus-wmi-sensors kernel module, the module uses the UEFI interface and may require a BIOS update on some boards [3].
Alternatively, the it87 module reads the values from the chip directly, install it87-dkms-git AUR and load the it87 kernel module.
Asus H97/Z97/Z170/X570/B550 motherboards
With some recent Asus motherboards, fan and voltage sensor access may require the nct6775 kernel module to be loaded.
You may also need to add the following kernel parameter:
Gigabyte B250/Z370/B450M motherboards
Some Gigabyte motherboards use the ITE IT8686E chip, which is not supported by the it87 kernel driver, as of May 2019 [4]. However, it is supported by the upstream version of the kernel driver [5]. The DKMS variant is contained in it87-dkms-git AUR . As with #Asus H97/Z97/Z170/X570/B550 motherboards, a kernel parameter is required before attempting to install the module:
Furthermore, supply the id of the chip when loading the module as follows:
Or you can load the module during boot process by creating the following two files:
Once the module is loaded you can use the sensors tool to probe the chip. Now you can also use fancontrol to control the speed step of your case fan.
Optionally installation of zenpower-dkms AUR may allow greater fine tuning of the motherboard’s cooling system. However, it does disable the default k10temp module.
Gigabyte GA-J1900N-D3V
This motherboard uses the ITE IT8620E chip (useful also to read voltages, mainboard temp, fan speed). As of October 2014, lm_sensors has no driver support for chip ITE IT8620E [6] [7]. lm_sensors developers had a report that the chip is somewhat compatible with the IT8728F for the hardware monitoring part. However, as of August 2016, [8] lists the IT8620E as supported.
You can load the module at runtime with modprobe:
Or you can load the modules during boot process by creating the following two files:
Once the module is loaded you can use the sensors tool to probe the chip.
Now you can also use fancontrol to control the speedsteps of your case fan.
Источник