Как я могу контролировать температуру процессора под Linux?

136

Как я могу контролировать и отображать температуру процессора с помощью Linux?

Крис
источник
4
Так приятно видеть, что такие короткие, быстрые и точные вопросы получают так много ответов :-)
Ян Кестер

Ответы:

124

Как уже отмечали другие, вам нужен пакет lm-sensor . Я подумал, что должен упомянуть, что в дополнение к установке пакета, вы должны запустить команду сенсор-обнаружение, чтобы определить модули ядра, которые должны быть загружены.

Если вы этого не сделали, вручную запустите это один раз и проверьте, обнаруживает ли он какие-либо датчики на вашем компьютере.

$ 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)

Если вам повезет, ваш ноутбук будет поддерживать множество датчиков. Если нет, вы все равно можете найти базовый набор датчиков для процессора:

$ 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)                  
Нагул
источник
2
Если вы хотите, чтобы это отображалось на экране, мне нравится использовать gkrellm, который использует lm-сенсоры для обнаружения.
Полковник
1
Если вы хотите использовать его на экране и не хотите использовать gkrellm, вы также можете использовать вместо него conky.
Компьютерщик
1
Если вы находитесь на redhat, ваш пакет может называться lm_sensors (подчеркивание вместо обычного тире)
msb
То же самое на Арке lm_sensors.
Bfontaine
Просто хочу добавить, что мне всегда приходилось перезагружаться после первого обнаружения датчика.
Чак Клаунч
77

Используя «датчики» (из lm-sensor) и «часы» (из procps pkg), вы можете в реальном времени отслеживать данные датчиков в командной строке с помощью:

watch -n 1 -d sensors

Это будет отображать датчики каждые 1 секунду и выделять разницу с предыдущей секундой.

Every 1.0s: /usr/bin/sensors

...
temp1:       +55C  (high =   +50C, hyst =   +45C)   sensor = thermistor   ALARM
temp2:     +35.0C  (high =   +80C, hyst =   +75C)   sensor = thermistor
temp3:     +35.0C  (high =   +80C, hyst =   +75C)   sensor = thermistor
johnnyB
источник
Почему не в синтаксисе Фаренгейта?
Джейкоб Ян Туинстра
6
просто, добавьте опцию '-f' в команду датчиков выше
johnnyB
2
Стоит отметить, что вам нужно установить пакет lm-sensor, чтобы это работало.
Уильям Эверетт
24

ле датчики

Lm-sensor - это пакет мониторинга состояния оборудования для Linux. Он позволяет получать информацию от датчиков температуры, напряжения и скорости вращения вентилятора. Работает с большинством новых систем. Этот пакет содержит программы, которые помогут вам настроить и считывать данные с датчиков lm.

Для установки используйте:

# sudo apt-get install lm-sensors sensors-applet

Использовать :

# sensors-detect
...
# sensors
V1.5:      +2.467 V  (min =  +1.42 V, max =  +1.58 V)   ALARM
VCore:     +1.479 V  (min =  +1.48 V, max =  +1.63 V)   ALARM
V3.3:      +3.373 V  (min =  +3.13 V, max =  +3.47 V)
V5:       +5.000 V  (min =  +4.74 V, max =  +5.26 V)
V12:      +11.734 V  (min = +11.38 V, max = +12.62 V)
CPU_Fan:   2299 RPM  (min = 4000 RPM)                     ALARM
fan2:         0 RPM  (min =    0 RPM)
fan3:      1057 RPM  (min =    0 RPM)
fan4:         0 RPM  (min =    0 RPM)
CPU:      +41.50°C  (low  =   +10°C, high =   +50°C)
Board:    +35.25°C  (low  =   +10°C, high =   +35°C)
Remote:   +35.50°C  (low  =   +10°C, high =   +35°C)     ALARM
CPU_PWM:   144
Fan2_PWM:  112
Fan3_PWM:  112
vid:      +1.550 V  (VRM Version 9.0)

или добавьте апплет на панель задач.

введите описание изображения здесь


Вы также можете попробовать апплет computertemp.

Пакет Ubuntu

домашняя страница

Computer Temperature Monitor - небольшой апплет для рабочего стола GNOME, который отображает температуру процессора вашего компьютера и дисков на экране.

Это также позволяет записывать температуру в файл. Вы можете установить будильник, чтобы уведомлять вас о достижении температуры. К панели можно добавить несколько мониторов для мониторинга разных датчиков. Он похож на апплет CPU Frequency Gnome, поэтому они соответствуют друг другу на панели.

Для установки используйте:

sudo apt-get install computertemp

а затем добавить на панель задач

введите описание изображения здесь

lyarwood
источник
9

У меня есть сервер Dell (Poweredge R420) под управлением Fedora / Red Hat Linux . Я установил lm_sensors, но sensorsдал мне сообщение о том, что драйверы ядра не были загружены. Я использовал датчик обнаружения, чтобы узнать, какой датчик мне нужен, и оказалось, что мне нужен IPMI.

Now follows a summary of the probes I have just done.
Just press ENTER to continue:

Driver `ipmisensors':
  * ISA bus, address 0xca8
    Chip `IPMI BMC KCS' (confidence: 8)

Warning: the required module ipmisensors is not currently installed
on your system. If it is built into the kernel then it's OK.
Otherwise, check http://www.lm-sensors.org/wiki/Devices for
driver availability.

Я проверил страницу, которая посоветовала мне использовать ipmitool. Я установил его, но все равно он не будет работать:

$ ipmitool sensor
Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory
Get Device ID command failed
Unable to open SDR for reading

После еще одного исследования я наткнулся на эту страницу: http://osdir.com/ml/hardware.ipmitool.devel/2008-02/msg00012.html

Их скрипт ipmimod.sh работал для меня из коробки:

#!/bin/bash

#IPMI kernel module installer for Redhat-style machines
#dranch-3r7Miqu9kMnR7s880joybQ@xxxxxxxxxxxxxxxx

#07/26/06 - use absolute paths for modprobe
#05/01/06 - orig version

/sbin/modprobe ipmi_devintf

maj=`cat /proc/devices | awk '/ipmidev/{print $1}'`
echo $maj
if [ -c /dev/ipmi0 ]
then
   rm -f /dev/ipmi0
   /bin/mknod /dev/ipmi0 c $maj 0
else
   /bin/mknod /dev/ipmi0 c $maj 0
fi

IPMI_DRIVERS="ipmi_si ipmi_si_drv ipmi_kcs_drv"
for driver in $IPMI_DRIVERS; do
  find /lib/modules/`uname -r`/kernel/drivers/char/ipmi | grep $driver > /dev/null
  RETURN_VALUE=$?
  if [ $RETURN_VALUE -eq 0 ] ; then
    #Here are specific memory locations for Supermicro AOC-type IPMI cards
    /sbin/modprobe $driver type=kcs ports=0xca8 regspacings=4
    break
  fi
done

После этого я наконец смог увидеть температуру процессора:

$ ipmitool sensor | grep Temp
Inlet Temp       | 24.000     | degrees C  | ok    | na        | -7.000    | 3.000     | 42.000    | 47.000    | na
Temp             | na         | degrees C  | na    | na        | 3.000     | 8.000     | 77.000    | 83.000    | na
Temp             | na         | degrees C  | na    | na        | 3.000     | 8.000     | 77.000    | 83.000    | na

Я надеюсь, что это поможет любому, у кого есть проблемы с температурой на серверах Dell.

MSB
источник
6

Linux позволяет получить доступ к датчикам информации о температуре. Работает с RH6.2x64.

Этот драйвер содержит поддержку чтения с использованием lm-сенсоров:

тип

modprobe coretemp
sensors
арик андроид_сеньор
источник
4

Я обнаружил другое программное обеспечение с графическим интерфейсом для контроля температуры. Название программного обеспечения: Psensor: https://wpitchoune.net/psensor/

И посмотрите статью из Интернета: https://www.tecmint.com/psensor-monitors-hardware-tempera-in-linux/

Чтобы установить в Ubuntu / Mint, запустите эту команду на своем терминале:

sudo apt install psensor

Чтобы запустить приложение, просто запустите это:

sudo psensor

Благодарю.

Wellington1993
источник
1
Чтобы настроить датчики, выполните эту команду и введите yes для всех вопросов:sudo sensors-detect
Wellington1993
2

ACPI

Стоит упомянуть упоминание acpiкоманды,

acpi -t   # or -V for all

-t | --thermal : показать тепловую информацию

От apt-cache show acpi:

Description-ru: отображает информацию об устройствах ACPI. Попытки воспроизвести функциональность «старой» команды apm в системах ACPI, включая информацию о батарее и температуре .
Не поддерживает приостановку ACPI, отображает только информацию об устройствах ACPI.

Домашняя страница: http://sourceforge.net/projects/acpiclient

В Ubuntu-подобной системе вы можете установить его с

sudo apt-get install acpi

Примечание: вы можете контролировать температуру с помощью watch -n 1 -d acpi -Vили вы можете начать анализировать ее вывод (или sensorsодин) с помощью скрипта (с или без dateкоманды), добавляя цвета, записывая вывод в файл ...

while [[ 1 ]] ; do acpi -t | awk '{printf ("%2.2f ",$4)}'; date; sleep 1 ; done

Hastur
источник
1

Вы можете вернуть командную строку в conky файл, чтобы показать ее на заставке. Это все еще менее раздутый, чем космический апплет.

sudo apt-get install conky

Затем создайте файл своей мечты .conkyrc в папке / home / user и добавьте его в свои приложения, запущенные при запуске.

IMP: Смотрите руководства по conky или предварительно созданным темам на форумах .conkyrc, Ubuntu и ubuntu-fr, Lifehacker и многим другим, чтобы узнать о хороших настройках conky.

мильона
источник