How can I monitor the CPU temperature under linux?
As others have noted, you need the lm-sensors package. I thought I should mention that in addition to installing the package, you should run the sensors-detect command to identify the kernel modules that need to be loaded.
If you haven’t done this, manually run this once and check if it detects any sensors on board your computer.
$ sudo sensors-detect # sensors-detect revision 5249 (2008-05-11 22:56:25 +0200) This program will help you determine which kernel modules you need to load to use lm_sensors most effectively. It is generally safe and recommended to accept the default answers to all questions, unless you know what you're doing. We can start with probing for (PCI) I2C or SMBus adapters. Do you want to probe now? (YES/no): Probing for PCI bus adapters. Use driver `i2c-i801' for device 0000:00:1f.3: Intel 82801G ICH7 We will now try to load each adapter module in turn. Module `i2c-i801' already loaded. If you have undetectable or unsupported I2C/SMBus adapters, you can have them scanned by manually loading the modules before running this script. We are now going to do the I2C/SMBus adapter probings. Some chips may be double detected; we choose the one with the highest confidence value in that case. If you found that the adapter hung after probing a certain address, you can specify that address to remain unprobed. Next adapter: SMBus I801 adapter at 10c0 (i2c-0) Do you want to scan it? (YES/no/selectively): Client found at address 0x50 Probing for `Analog Devices ADM1033'. No Probing for `Analog Devices ADM1034'. No Probing for `SPD EEPROM'. Yes (confidence 8, not a hardware monitoring chip) Probing for `EDID EEPROM'. No Client found at address 0x52 Probing for `Analog Devices ADM1033'. No Probing for `Analog Devices ADM1034'. No Probing for `SPD EEPROM'. Yes (confidence 8, not a hardware monitoring chip) Probing for `EDID EEPROM'. No Some chips are also accessible through the ISA I/O ports. We have to write to arbitrary I/O ports to probe them. This is usually safe though. Yes, you do have ISA I/O ports even if you do not have any ISA slots! Do you want to scan the ISA I/O ports? (YES/no): Probing for `National Semiconductor LM78' at 0x290. No Probing for `National Semiconductor LM78-J' at 0x290. No Probing for `National Semiconductor LM79' at 0x290. No Probing for `Winbond W83781D' at 0x290. No Probing for `Winbond W83782D' at 0x290. No Probing for `IPMI BMC KCS' at 0xca0. No Probing for `IPMI BMC SMIC' at 0xca8. No Some Super I/O chips may also contain sensors. We have to write to standard I/O ports to probe them. This is usually safe. Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor'. No Trying family `SMSC'. Yes Found unknown chip with ID 0x2803 Probing for Super-I/O at 0x4e/0x4f Trying family `National Semiconductor'. No Trying family `SMSC'. No Trying family `VIA/Winbond/Fintek'. No Trying family `ITE'. No Some south bridges, CPUs or memory controllers may also contain embedded sensors. Do you want to scan for them? (YES/no): Silicon Integrated Systems SIS5595. No VIA VT82C686 Integrated Sensors. No VIA VT8231 Integrated Sensors. No AMD K8 thermal sensors. No AMD K10 thermal sensors. No Intel Core family thermal sensor. Success! (driver `coretemp') Intel AMB FB-DIMM thermal sensor. No Now follows a summary of the probes I have just done. Just press ENTER to continue: Driver `coretemp' (should be inserted): Detects correctly: * Chip `Intel Core family thermal sensor' (confidence: 9) I will now generate the commands needed to load the required modules. Just press ENTER to continue: To load everything that is needed, add this to /etc/modules: #----cut here---- # Chip drivers coretemp #----cut here---- Do you want to add these lines automatically? (yes/NO)
If you’re lucky, your laptop will support an array of sensors. If not, you may still find a basic set of sensors for the CPU:
$ sensors acpitz-virtual-0 Adapter: Virtual device temp1: +40.5°C (crit = +105.0°C) coretemp-isa-0000 Adapter: ISA adapter Core 0: +35.0°C (crit = +100.0°C) coretemp-isa-0001 Adapter: ISA adapter Core 1: +40.0°C (crit = +100.0°C)
Мониторинг температуры Linux
В большинстве случаев нам не нужно беспокоиться о температуре компьютера. Все устроено так что температура не будет превышать максимальную если у вашего оборудования нет никаких производственных дефектов. Но перегрев могут вызвать не только аппаратные ошибки, это также может произойти из-за багов в драйвере графической карты или неправильно настроенной программы управления вентилятором. Частой причиной перегрева также может быть пыль, грязь, мусор попавшие в систему охлаждения (вентилятор, радиатор). Такое часто происходит со старым оборудованием.
Перегрев может вызвать очень серьезные повреждения вашего компьютера, так что следите за температурой вашей системы. Еще лучше если есть служба контроля температуры, которая предупредит вас если температура начнет сильно расти. В этой инструкции я расскажу как настроить мониторинг температуры Linux. В операционной системе Linux есть специальный набор утилит, которые предназначены для того, чтобы выполнять контроль температуры linux.
Что мы будем использовать?
Давайте рассмотрим утилиты, которые мы сегодня будем использовать:
- lm-sensors — программный инструмент, извлекающий данные из аппаратных датчиков на материнской плате для мониторинга температуры, напряжения, влажности и т д;
- hddtemp — инструмент для измерения температуры жестких дисков;
- psensor — графическая утилита для мониторинга температуры, которая позволяет посмотреть температуру Linux, для процессора, видеокарты, жестких дисков и других компонентов, которые поддерживают эту функцию.
Установка компонентов
Программа psensor отображает температуру на основе информации, полученной от lm-sensors и hddtemp. Поэтому сначала необходимо установить эти инструменты. Для установки в Debian или Ubuntu выполните:
sudo apt install lm-sensors hddtemp psensor
Если вы хотите установить самую новую версию этих компонентов, нужно добавить сначала PPA от разработчиков в систему:
sudo add-apt-repository ppa:jfi/ppa
sudo apt update
sudo apt install lm-sensors hddtemp psensor
Установка psensor в Fedora и других дистрибутивах, основанных на Red Hat будет выглядеть аналогично:
sudo yum install lm_sensors hddtemp psensor
Настройка мониторинга температуры Linux
Сначала нужно настроить низкоуровневые инструменты для считывания данных о температуре компонентов lm_sensors и hddtemp. Начнем с lm_sensors. После этого вы уже сможете посмотреть температуру linux.
1. Настройка lm_sensors
Для запуска мастера настройки ls_sensors выполните команду:
Отвечайте Y на все вопросы. Утилита попытается обнаружить все доступные в системе встроенные аппаратные датчики (для процессора, видеокарты, памяти и других микросхем), а также автоматически определить подходящие драйвера для них.
Когда сканирование датчиков завершится вам будет предложено добавить обнаруженные модули ядра в автозагрузку:
В Ubuntu или Debian модули будут добавлены в /etc/modeuls. А в Fedora будет создан файл /etc/sysconfig/lm_sensors. Для автоматической загрузки нужных модулей достаточно добавить lm_sensors в автозагрузку:
sudo systemctl enable lm-sensors
Теперь вы можете посмотреть температуру процессора Linux и других аппаратных компонентов с помощью команды sensors:
Настройка hddtemp
Еще вам нужно запустить hddtemp для контроля температуры жестких дисков. Выполните эту команду для запуска hddtemp в качестве демона, /dev/sda замените на адрес своего диска.
Это нужно сделать для каждого диска. Также необходимо добавить эту программу в автозагрузку.
Измерение и мониторинг температуры
Теперь можно начать мониторинг температуры linux с помощью psensor. Для этого просто запустите программу. Вы можете сделать это с помощью главного меню или же выполнив команду:
Вызовите контекстное меню в главном окне программы и выберите Параметры. Здесь вы увидите список доступных датчиков. Вы можете выбрать за какими датчиками нужно наблюдать.
Еще можно установить уровень тревоги для каждого датчика на вкладке Alarm. Когда температура Linux превысит заданную вы получите уведомление.
По умолчанию температура в psensor измеряется в градусах Цельсия. В последних версиях также есть поддержка конвертации в градусы по Фаренгейту.
Выводы
Дальше, чтобы программа работала постоянно осталось добавить ее в автозагрузку. Теперь температура процессора linux всегда будет под контролем и ваш компьютер точно не перегреется. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.