Jak mogę monitorować temperaturę procesora w systemie Linux?

136

Jak monitorować i wyświetlać temperaturę procesora w systemie Linux?

Chris
źródło
4
Miło jest widzieć, że tak krótkie, szybkie i precyzyjne pytania zyskują tak wiele odpowiedzi :-)
Jan Koester

Odpowiedzi:

124

Jak zauważyli inni, potrzebujesz pakietu czujników lm . Pomyślałem, że powinienem wspomnieć, że oprócz instalacji pakietu powinieneś uruchomić komendę czujników wykrywających, aby zidentyfikować moduły jądra, które należy załadować.

Jeśli jeszcze tego nie zrobiłeś, uruchom go raz raz i sprawdź, czy wykryje czujniki na komputerze.

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

Jeśli masz szczęście, Twój laptop będzie obsługiwał szereg czujników. Jeśli nie, nadal możesz znaleźć podstawowy zestaw czujników dla procesora:

$ 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)                  
nagul
źródło
2
Jeśli chcesz na ekranie, lubię używać gkrellm, który do wykrywania wykorzystuje czujniki lm.
Kol.
1
Jeśli chcesz na ekranie i nie chcesz używać gkrellm, możesz zamiast tego użyć conky.
maniak
1
Jeśli używasz redhat, twój pakiet może nazywać się lm_sensors (podkreślenie zamiast zwykłego myślnika)
msb
To samo na Arch lm_sensors.
bfontaine
Chcę tylko dodać, że zawsze musiałem restartować po pierwszym wykryciu czujnika.
Chuck Claunch
77

Używając „czujników” (z czujników lm) i „obserwuj” (z procps pkg), możesz monitorować w czasie rzeczywistym dane czujników w wierszu poleceń za pomocą:

watch -n 1 -d sensors

Spowoduje to wyświetlenie czujników co 1 sekundę i wyróżnienie różnicy w stosunku do poprzedniej sekundy.

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
źródło
Dlaczego nie w składni Fahrenheita?
Jacob Jan Tuinstra
6
łatwo, dodaj opcję „-f” do powyższego polecenia czujników
johnnyB
2
Warto zauważyć, że aby to zadziałało, musisz zainstalować pakiet czujników lm.
William Everett
24

czujniki lm

Lm-czujniki to pakiet monitorowania stanu sprzętu dla systemu Linux. Umożliwia dostęp do informacji z czujników temperatury, napięcia i prędkości wentylatora. Działa z większością nowszych systemów. Ten pakiet zawiera programy ułatwiające konfigurację i odczyt danych z czujników lm.

Aby zainstalować użyj:

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

Używać :

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

lub dodaj aplet do paska zadań.

wprowadź opis zdjęcia tutaj


Możesz także wypróbować aplet computertemp.

Pakiet Ubuntu

Strona główna

Computer Temperature Monitor to mały aplet dla pulpitu GNOME, który pokazuje temperaturę procesora komputera i dysków na ekranie.

Umożliwia także rejestrowanie temperatur w pliku. Możesz ustawić alarmy powiadamiające o osiągnięciu temperatury. Do panelu można dodać kilka monitorów w celu monitorowania różnych czujników. Ma wyglądać jak aplet Gnome częstotliwości procesora, więc pasują do siebie na panelu.

Aby zainstalować użyj:

sudo apt-get install computertemp

a następnie dodaj do paska zadań

wprowadź opis zdjęcia tutaj

drzewo liściaste
źródło
9

Mam serwer Dell (Poweredge R420) z systemem Fedora / Red Hat Linux . Zainstalowałem lm_sensors, ale sensorsdałem mi wiadomość, że sterowniki jądra nie zostały załadowane. Użyłem czujników wykrywających, aby dowiedzieć się, którego czujnika potrzebowałem, i okazało się, że potrzebuję 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.

Sprawdziłem stronę, która zaleciła mi użycie ipmitool. Zainstalowałem go, ale nadal nie działałoby:

$ 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

Po kilku dalszych badaniach natknąłem się na tę stronę: http://osdir.com/ml/hardware.ipmitool.devel/2008-02/msg00012.html

Ich skrypt ipmimod.sh zadziałał dla mnie od razu:

#!/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

Po uruchomieniu mogę wreszcie zobaczyć temperaturę procesora:

$ 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

Mam nadzieję, że pomoże to każdemu z serwerami Dell mającymi trudności z uzyskaniem temperatur.

msb
źródło
6

Linux pozwala na dostęp do czujników informacji o temperaturze. Działa z RH6.2x64.

Ten sterownik zawiera obsługę odczytu za pomocą czujników lm:

rodzaj

modprobe coretemp
sensors
arik android_senior
źródło
4

Odkryłem inne oprogramowanie z GUI do monitorowania temperatur. Nazwa oprogramowania to: Psensor: https://wpitchoune.net/psensor/

I zobacz artykuł z Internetu: https://www.tecmint.com/psensor-monitors-hardware-temperature-in-linux/

Aby zainstalować na Ubuntu / Mint, uruchom to polecenie na swoim terminalu:

sudo apt install psensor

Aby uruchomić aplikację, po prostu uruchom to:

sudo psensor

Dzięki.

Wellington1993
źródło
1
Aby skonfigurować czujniki, uruchom to polecenie i wpisz „tak” dla wszystkich pytań:sudo sensors-detect
Wellington1993
2

ACPI

Warto wspomnieć o acpipoleceniu,

acpi -t   # or -V for all

-t | --thermal : pokaż informacje termiczne

Od apt-cache show acpi:

Description-pl: wyświetla informacje o urządzeniach ACPI. Próbuje replikować funkcjonalność „starej” komendy apm w systemach ACPI, w tym informacje o baterii i temperaturze .
Nie obsługuje zawieszania ACPI, wyświetla tylko informacje o urządzeniach ACPI.

Strona internetowa: http://sourceforge.net/projects/acpiclient

W systemie podobnym do Ubuntu możesz go zainstalować przy pomocy

sudo apt-get install acpi

Uwaga: możesz monitorować temperaturę za pomocą skryptu (z poleceniem lub bez ), watch -n 1 -d acpi -Vmożesz zacząć analizować jego wynik (lub ten ), dodając kolory, logując dane wyjściowe do pliku ...sensorsdate

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

Hastur
źródło
1

Możesz zwrócić wiersz polecenia w zwięzłym pliku, aby pokazać go w wygaszaczu ekranu. Jest nadal mniej rozdęty niż aplet zajmujący miejsce.

sudo apt-get install conky

Następnie stwórz plik .conkyrc swoich marzeń w folderze / home / user i dodaj go do aplikacji uruchomionych na początku.

IMP: Zapoznaj się z samouczkami na temat conky lub gotowych wątków na forach .conkyrc, Ubuntu i ubuntu-fr, Lifehacker i innych, aby uzyskać ładne konfiguracje conky.

zillion
źródło