Як я можу контролювати температуру процесора під Linux?


136

Як я можу відстежувати та відображати температуру ЦП за допомогою Linux?


4
Приємно бачити, що такі короткі, швидкі та точні запитання отримують стільки відповідей :-)
Jan Koester

Відповіді:


124

Як зазначали інші, вам потрібен пакет lm-датчиків . Я подумав, що слід зазначити, що крім встановлення пакета, слід запустити команду sensors-detect для виявлення модулів ядра, які потрібно завантажити.

Якщо ви цього не зробили, запустіть це вручну один раз і перевірте, чи виявляє він будь-які датчики на борту комп'ютера.

$ 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

Те ж саме у Arch, це lm_sensors.
bfontaine

Хочу лише додати, що мені завжди доводилося перезавантажуватися після першого датчика виявлення.
Чак Клаун

77

Використовуючи «датчики» (від lm-датчиків) та «спостерігати» (від набору 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

Чому б не через синтаксис Фаренгейта?
Яків Ян Туінстра

6
легко, додайте опцію '-f' в команду датчиків вище
johnnyB

2
Варто зазначити, що для цього вам потрібно встановити пакет lm-датчиків.
Вільям Еверетт

24

lm-датчики

Lm-датчики - це апаратний моніторинг стану здоров’я для 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

Домашня сторінка

Комп'ютерний монітор температури - це невеликий аплет для робочого столу GNOME, який відображає температуру процесора та дисків комп'ютера на екрані.

Це також дозволяє реєструвати температури у файл. Ви можете встановити сигнали тривоги, щоб повідомляти вас про досягнення температури. На панель може бути додано кілька моніторів для контролю різних датчиків. Він розроблений так, щоб виглядати як аплет CPU Frequency Gnome, тому вони відповідають один одному на панелі.

Щоб встановити використання:

sudo apt-get install computertemp

а потім додайте на панель завдань

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


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, які мають труднощі з отриманням температури.


6

Linux дозволяє отримати доступ до датчиків температури температури. Він працює з RH6.2x64.

Цей драйвер містить підтримку зчитування за допомогою lm-датчиків:

тип

modprobe coretemp
sensors

4

Я відкрив інше програмне забезпечення з gui для контролю температури. Назва програмного забезпечення: Psensor: https://wpitchoune.net/psensor/

І дивіться статтю з Інтернету: https://www.tecmint.com/psensor-monitors-hardware-temperature-in-linux/

Щоб встановити на Ubuntu / Mint, запустіть цю команду у своєму терміналі:

sudo apt install psensor

Щоб запустити додаток, просто запустіть це:

sudo psensor

Дякую.


1
Щоб налаштувати датчики, виконайте цю команду та введіть так для всіх питань:sudo sensors-detect
Wellington1993

2

ACPI

Варто згадати згадку про acpiкоманду,

acpi -t   # or -V for all

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

Від apt-cache show acpi:

Description-en: відображає інформацію на пристроях 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


1

Ви можете повернути командний рядок у конічний файл, щоб показати його на своїй заставці. Він все ще менш роздутий, ніж космічний аплет.

sudo apt-get install conky

Потім побудуйте файл .conkyrc вашої мрії у папці / home / user та додайте його до своїх програм, запущених на початку.

IMP: Перегляньте підручники про conky або premade .conkyrc, Ubuntu та ubuntu-fr, низки форумів, Lifehacker та інше для приємних конькових налаштувань.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.