Jak uzyskać temperaturę procesora?

Odpowiedzi:

584

Zainstaluj czujniki lm Zainstaluj czujniki lm

sudo apt-get install lm-sensors 

Po instalacji wpisz następujące polecenie w terminalu

sudo sensors-detect

Może być także konieczne uruchomienie

sudo service kmod start

Zadaje ci kilka pytań. Odpowiedz Tak dla wszystkich. Wreszcie, aby uzyskać typ temperatury procesora sensorsw terminalu.

sensors

Wynik:

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +41.0°C  (high = +78.0°C, crit = +100.0°C)  

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +41.0°C  (high = +78.0°C, crit = +100.0°C)  

w83627dhg-isa-0290
Adapter: ISA adapter
Vcore:       +1.10 V  (min =  +0.00 V, max =  +1.74 V)   
in1:         +1.60 V  (min =  +1.68 V, max =  +1.44 V)   ALARM
AVCC:        +3.30 V  (min =  +2.98 V, max =  +3.63 V)   
VCC:         +3.28 V  (min =  +2.98 V, max =  +3.63 V)   
in4:         +1.85 V  (min =  +1.66 V, max =  +1.11 V)   ALARM
in5:         +1.26 V  (min =  +1.72 V, max =  +0.43 V)   ALARM
in6:         +0.09 V  (min =  +1.75 V, max =  +0.62 V)   ALARM
3VSB:        +3.30 V  (min =  +2.98 V, max =  +3.63 V)   
Vbat:        +3.18 V  (min =  +2.70 V, max =  +3.30 V)   
fan1:          0 RPM  (min = 10546 RPM, div = 128)  ALARM
fan2:        892 RPM  (min = 2136 RPM, div = 8)  ALARM
fan3:          0 RPM  (min = 10546 RPM, div = 128)  ALARM
fan4:          0 RPM  (min = 10546 RPM, div = 128)  ALARM
fan5:          0 RPM  (min = 10546 RPM, div = 128)  ALARM
temp1:       +36.0°C  (high = +63.0°C, hyst = +55.0°C)  sensor = diode
temp2:       +39.5°C  (high = +80.0°C, hyst = +75.0°C)  sensor = diode
temp3:      +119.0°C  (high = +80.0°C, hyst = +75.0°C)  ALARM  sensor = thermistor
cpu0_vid:   +2.050 V

Aby zobaczyć temperaturę dysku twardego Zainstaluj hddtemp Zainstaluj hddtemp

sudo apt-get install hddtemp

Wynik:

$ sudo hddtemp /dev/sda        
/dev/sda: ST3160813AS: 34°C
karthick87
źródło
4
To nie działa na wszystkich urządzeniach. W moim systemie sensorszawsze pokazuje temperaturę + 40,0 ° C.
Keith Thompson,
6
W moim systemie 13.04 sudo service kmod startzamiast tegosudo service module-init-tools start
knb
82
Możesz uruchomić, watch sensorsaby zobaczyć wartości temperatur aktualizowane co sekundę.
Drew Noakes
16
Daje ostrzeżenia o ryzykowności. Czy na pewno powinieneś odpowiedzieć „tak” na wszystko? Nie sądzę, żeby umieścili tam te wiadomości dla zabawy ...
stommestack
6
aby odpowiedzieć tak na wszystkie pytania wykrywające czujniki, uruchomyes yes | sensors-detect
hanshenrik
147

Szybkie rozwiązanie wiersza poleceń; pokazuje temperaturę w stopniach Celsjusza (m ° C)

cat /sys/class/thermal/thermal_zone*/temp

Applet

Jeśli szukasz łatwiejszej wersji, dodaj Monitor czujników sprzętowych do panelu Gnome:

  1. sudo apt-get install sensors-applet- zainstaluje to pakiet czujników-apletów Zainstaluj aplet czujników
  2. Kliknij panel prawym przyciskiem myszy, wybierz Add to panel..., a następnie wybierz: alternatywny tekst

  3. Jesteś skończony. Możesz skonfigurować, które czujniki są wyświetlane, klikając aplet prawym przyciskiem myszy i wybierając Preferences->Sensors.

    alternatywny tekst

evgeny
źródło
12
Twoje rozwiązanie wiersza polecenia może nie działać dla wszystkich, ponieważ ścieżka będzie inna dla każdej wersji jądra.
karthick87,
3
Tak, to nie działało dla mnie.
8128
3
Mój system Ubuntu 12.04 nie ma /proc/acpi/thermal_zone/THRM/temperature; w rzeczywistości nie ma nic pod /procnazwiskiem temperature.
Keith Thompson,
13
Dzieje się tak, ponieważ „/ proc” jest przestarzałe; try '/ sys / class / thermal / thermal_zone0 / temp'
mathepic
4
dla jakich jednostek cat /sys/class/thermal/thermal_zone0/temp? Czy potrafisz przekonwertować go na C / F? ... Wygląda na to, że pierwsze dwie cyfry to pierwsze dwie cyfry poprzedzające miejsce dziesiętne, a następne to te następujące po miejscu dziesiętnym dla Celsjusza.
dylnmc
104

Dobrym wskaźnikiem do monitorowania temperatury, prędkości wentylatora i napięcia jest czujnik . Pokazuje wyjście wszystkich czujników, rysuje wykresy. Również wybrane wyjścia można umieścić w panelu wskaźników.

psensor w akcji

Można go zainstalować z repozytoriów Ubuntu, wpisując:

sudo apt-get install psensor

Nowsze wersje psensora można zainstalować z ppa:

sudo add-apt-repository ppa:jfi/ppa
sudo apt-get update
sudo apt-get install psensor

Może także rysować wykresy po zaznaczeniu pól w kolumnie wykresów:

Zrzut ekranu

Oto kilka informacji z większą ilością zdjęć.

Kolejny przydatny link

W niektórych przypadkach nie wszystkie czujniki są wyświetlane. Potem możesz biec

sudo sensors-detect

i odpowiedz „tak” na wszystkie pytania. Ale w niektórych przypadkach nie jest całkiem bezpieczny, ale nigdy nie miałem z tym żadnych prawdziwych problemów. Bezpieczniejszym sposobem jest przyjęcie domyślnych odpowiedzi.

Mogą pojawić się dodatkowe czujniki.

Pilot 6
źródło
Teraz TO jest bomba. Tak jest.
SDsolar
Na moim Ubuntu 16.04 psensorczasami używa 30% procesora, co podnosi temperaturę.
dirkjot
2
to gówno. pobiera 100% cpu
raaj
Problem nadal występuje. Aplikacja nie nadaje się do użytku.
Eugene
@raaj - czy gdzieś ten błąd został zgłoszony?
Mateusz Konieczny
54

Temperatura bez aplikacji innych firm

W momencie pisania odpowiedzi wszystkie odpowiedzi wymagają użycia narzędzi stron trzecich. Jeśli chcesz sprawdzić temperaturę bez instalowania czegokolwiek, użyj:

$ cat /sys/class/thermal/thermal_zone*/temp
20000
53000
50000
53000
56000
68000
49000
50000

Aby zobaczyć, jakich stref dotyczą temperatury:

$ paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1°C/'
INT3400 Thermal  20.0°C
SEN1             45.0°C
SEN2             51.0°C
SEN3             57.0°C
SEN4             59.0°C
pch_skylake      77.5°C
B0D4             50.0°C
x86_pkg_temp     51.0°C

Temperatury są przechowywane w stopniach Celsjusza z 3 domyślnymi miejscami po przecinku. sedsłuży do „upiększania” wyjścia.

Ostatnia temperatura jest x86_pkg_temppodawana w 54.0°C. W przypadku procesora Skylake i7 6700HQ użyłem tej temperatury do wyświetlenia Conky poniżej.

Temperatura z Conky

Jeśli nie masz nic przeciwko narzędziom innych firm, lubię używać Conky - lekkiego monitora systemowego.

Polecenia Conky

W Conky zmienna systemowa, której użyłem do monitorowania procesora Ivy Bridge, to:

${hwmon 2 temp 1}°C

Do monitorowania procesora Skylake użyłem:

${hwmon 0 temp 1}°C

Wyświetlacz Conky

Conky display wygląda następująco:

wprowadź opis zdjęcia tutaj

Temperatura zaczyna się od 72 ° C z jednym procesorem działającym przy 100% w trybie turbo 3200 MHz. Następnie turbosprężarka jest wyłączana, a temperatura spada z 10 ° C do 62 ° C przy prędkości bez turbo 2600 MHz. 10 sekund później włącza się ponownie turbosprężarka, a temperatura natychmiast wzrasta do 72 ° C.


Kontrolowanie temperatury

Po zapoznaniu się z temperaturą prawdopodobnie lepiej ją kontrolować. tlpdziała cuda dla utrzymania kontroli nad systemem. Współpracuje z thermald, Intel Powerclamp, Bateria vs AC dla zasilania USB itp. Chociaż wysoce konfigurowalny, nigdy nie musiałem zmieniać ustawień konfiguracji, aby uzyskać przyjemne wrażenia po wyjęciu z pudełka. Przed użyciem miałem cały czas problemy z przegrzaniem laptopa IvyBridge. Mam go na moim nowym laptopie Skylake, a fani NIGDY nie działają, z wyjątkiem aktualizacji Ubuntu 16.04 LTS do 18.04.

Możesz uzyskać bardzo szczegółowy opis z instrukcjami instalacji tutaj: Zatrzymaj procesor przed przegrzaniem

WinEunuuchs2Unix
źródło
2
jaka to jednostka? jabłka? 1/1000 ° C? 59/29402. ° F?
Blauhirn
@Blauhirn Linux zgłasza temperaturę jako „69000”, czyli 69 000 stopni Celsjusza. We wszystkich moich testach zawsze jest to „000” po domniemanym przecinku dziesiętnym, więc nie jestem pewien, dlaczego Linux formatuje go w ten sposób, wzrusza ramionami . Dziękuję za komentarz, chociaż pozwoliło mi to zaktualizować conky display do bieżącej wersji.
WinEunuuchs2Unix
twój cytat mówi 48000, ale twój tekst mówi, że jest to 57 stopni Celsjusza? Jestem zmieszany.
niedz.
@Sun zregenerowałem jednowierszowy przy użyciu nowszego procesora i nie poprawiłem poprawnie wyjaśnienia. Naprawiony!
WinEunuuchs2Unix
1
@ncoghlan Dziękuję. .5od czasu do czasu pojawia się, a twoje sedpoprawki poradzą sobie z tym ładnie.
WinEunuuchs2Unix
37

hardinfo Zainstaluj hardinfo jest bardzo przydatnym narzędziem do uzyskiwania wszystkich informacji o sprzęcie.

Zainstaluj twarde informacje przez sudo apt-get install hardinfo. Następnie możesz uzyskać temperaturę za pomocą czujników.

czujnik

Pandya
źródło
22
Dobrze wyglądające narzędzie, z wyjątkiem tego, że każda strona wypełnia się oprócz Czujników (np. Jest pusta) ...
frumbert
15
nie działa dla czujników
Mudit Kapil
@frumbert Myślę, że to zależy od lm-sensors!
Pandya,
Lubię też stół ARP. Bardzo przydatne, aby sprawdzić, co jest podłączone do mojej podsieci.
SDsolar
Benchmarki są jednak dość przestarzałe w tym programie.
Andriy Makukha,
32
  1. zainstaluj mały pakiet acpi za Zainstaluj acpi pomocą tego polecenia

    sudo apt-get install acpi
    
  2. Będziesz musiał nacisnąć Y, aby potwierdzić po raz pierwszy. Teraz, aby znaleźć temperaturę, wpisz to polecenie

    acpi -t
    
Mrinal
źródło
23
To jest prostsze niż odpowiedzi lm-sensors. Czy możesz wyjaśnić różnicę między acpii lm-sensors?
fikr4n
1
Na Ubuntu 16.04, Skylake Laptop acpi -tnie wyświetla nic. Jest to ważna opcja, po prostu nie działa - wersja: acpi 1.7.
WinEunuuchs2Unix
Z powodzeniem korzystałem acpi -tz systemu grml CD na żywo do monitorowania temperatury każdej matrycy procesora Core i3. lm-sensorsnie jest wstępnie zainstalowany na grml i nie mogę tam zainstalować innych pakietów. grml.org
Daniel Böhmer
20

XSensors

XSensors odczytuje dane z biblioteki libsensors dotyczące stanu sprzętu, takie jak temperatura, napięcie i prędkość wentylatora, i wyświetla informacje w cyfrowym odczycie.

Otwórz terminal i wpisz:

sudo apt-get install xsensors lm-sensors

Następnie wykryj czujniki sprzętowe komputera, otwierając terminal i uruchamiając polecenie:

sudo sensors-detect

Następnie zostanie zadane wiele pytań na temat tego, jaki sprzęt ma wykrywać program. Ogólnie jest to bezpieczne i zalecane jest zaakceptowanie domyślnych odpowiedzi na wszystkie pytania, chyba że wiesz, co robisz.

Zrzut ekranu XSensors

Xsensory vs. Psensor

XSensors i Psensor monitorują zarówno temperaturę komputera, jak i prędkości wentylatora. Różnica między tymi dwiema aplikacjami polega na poziomie szczegółowości wyświetlanych informacji i sposobie wyświetlania informacji.

XSensors wyświetla nieco bardziej szczegółowe informacje niż Psensor. Psensor jest mniejszy i bardziej dyskretny niż XSensors i wyświetla się na pulpicie jako mała ikona termometru w obszarze powiadomień w prawym górnym rogu pulpitu obok zegara. W dowolnym momencie możesz kliknąć prawym przyciskiem myszy ikonę termometru, aby wyświetlić temperatury sprzętu.

Konfigurowanie Psensora do wykrywania sprzętu komputera odbywa się w ten sam sposób, co Xsensory, poprzez zainstalowanie czujników lm do wykrywania czujników sprzętowych komputera. Następnie wykryj czujniki sprzętowe komputera uruchamiające polecenie:

sudo sensors-detect  

i podobnie jak w przypadku Xsensorów, zaakceptuj domyślne odpowiedzi na wszystkie pytania.

W Ubuntu 16.04 i nowszych Psensor automatycznie wykrywa czujniki sprzętowe komputera bez uruchamiania sudo sensors-detect

Karel
źródło
2
Psensor wydaje się być bardziej zaawansowany
Serge
1
Zgadzam się, @Serge. psensor to ten, którego zamierzam użyć.
SDsolar
Używam również Psensor.
karel
17

Po zainstalowaniu czujników lm:

sudo apt-get install lm-sensors

biegać:

sudo sensors-detect

możesz uruchomić następującą komendę, aby wyświetlić tempa sprzętowe:

watch -n 1 sensors

Ponadto wentylator jest zwykle kontrolowany przez system BIOS.

mchid
źródło
12
podoba mi się wskazówka na temat korzystania z zegarka, jest to jeden z moich ulubionych. Polecam również dodanie opcji -d, aby obejrzeć, aby podkreślić różnice.
Joshua K,
To dało mi 4-rdzeniowy odczyt temperatury w moim i7-3770 na Ubuntu 16.0.4 LTS z uruchomionym 100% procesorem (~ 77 stopni Celsjusza)
niedz.
12

W Raspberry Pi możesz odzyskać temperaturę za pomocą vcgencmd:

vcgencmd measure_temp

Wynik:

temp=39.0'C
Ercksen
źródło
2
Nie, to da ci częstotliwość. Użyjvcgencmd measure_temp
MrD
Przepraszamy, bardzo bolesny błąd kopiowania i wklejania :)
Ercksen,
9

Po prostu wiecie, że żadne z tych śmieci instalacji nie sensorssą potrzebne. Po prostu zrób acpi -Vi BOOM, masz wszystko. Przykład:

Battery 0: Charging, 91%, 00:17:25 until charged
Battery 0: design capacity 3310 mAh, last full capacity 3309 mAh = 99%
Adapter 0: on-line
Thermal 0: ok, 40.0 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 127.0 degrees C
Thermal 0: trip point 1 switches to mode hot at temperature 127.0 degrees C
Cooling 0: pkg-temp-0 no state information available
Cooling 1: LCD 0 of 100
Cooling 2: Processor 0 of 10
Cooling 3: Processor 0 of 10
Cooling 4: Processor 0 of 10
Cooling 5: Processor 0 of 10

WIELE łatwiejsze niż instalacja tego wszystkiego i kmod ... Po prostu zrób acpi -V.

lolzies
źródło
25
Racja… ponieważ nie musisz tego instalować? Źle! The program 'acpi' is currently not installed. You can install it by typing: sudo apt-get install acpi
e-sushi
8
I nie zawsze zawiera te same informacje. Na mojej maszynie sensorszapewnia temperaturę acpi -V, ale niestety nic o niej nie pokazuje.
Per Lundberg
1
acpi -Vjest zepsuty dla laptopa Skylake, Ubuntu 16.04, acpi wersja 1.7
WinEunuuchs2Unix
5
/sys/class/thermal/thermal_zone0/temp

ten plik zawiera temperaturę procesora. Możesz więc utworzyć skrypt o nazwie tempi przenieść go do /binterminalu enter temp.

Mój tempplik wygląda jak -

 #!/bin/bash
 cpu_temp=$(< /sys/class/thermal/thermal_zone0/temp)
 cpu_temp=$(($cpu_temp/1000))
 echo $cpu_temp°C

moja odpowiedź została zmodyfikowana z www.cyberciti.biz

Alhelal
źródło
Wypróbowałem 4 maszyny w różnych lokalizacjach i wszystkie dają ten sam odczyt = 27800. Czy wiesz, dlaczego tak może być? Nie wszystkie mogą mieć tę samą temperaturę procesora.
Katu,
@Katu Myślę, że może to oznaczać 27,8 stopni. Użyłem innego programu i okazało się, że mój rdzeń 0 to 49 C. Następnie wykonałem powyższe polecenie i otrzymałem 49000.
Philip Kirkbride
5

Wszystko bash:

getTemp () {
  for zone in `ls /sys/class/thermal/ | grep thermal_zone`
  do
    echo -n "`cat /sys/class/thermal/$zone/type`: "
    echo `cat /sys/class/thermal/$zone/temp | sed 's/\(.\)..$/.\1°C/'`
  done
}

getProcesses() {
  top -b -n 1 | head -n 12  | tail -n 6
}

update () {
  while :
  do
    clear
    getTemp
    echo -e "\nTop 5 CPU hogs:"
    getProcesses
    sleep 5
  done
}


update
David Hamner
źródło
1
To właściwie całkiem niezły skrypt.
Philippe Delteil,
4

Jeśli lubisz Python, możesz użyć psutil.

>>> import psutil
>>> psutil.sensors_temperatures()['coretemp']
[shwtemp(label='Physical id 0', current=67.0, high=100.0, critical=100.0), shwtemp(label='Core 0', current=67.0, high=100.0, critical=100.0), shwtemp(label='Core 1', current=65.0, high=100.0, critical=100.0)]

... wykona robotę. Przy odrobinie kodowania możesz na przykład uzyskać Temp vs. CPU twojego systemu.

wprowadź opis zdjęcia tutaj

Aktualizacja jest wygodna psutilpoprzez wydanie sudo pip3 install psutil --upgrade.

Lucas Aimaretto
źródło
Mam go w Pythonie 2, ale nie ma on sensors_temperaturesatrybutu i nie mam go w Pythonie 3. Używam Ubuntu 14.04. Jak to zdobyć?
wjandrea
jakiej wersji psutil używasz? mój jest 5.4.3. Spróbuj uaktualnić Ci wersję: sudo pip2 install psutil --upgrade.
Lucas Aimaretto
1
Używam 1.2.1 na Python 2 i aktualizacja kończy się niepowodzeniem (ale Python 2 na 14.04 jest naprawdę przestarzały, więc nie martwię się). Właśnie zainstalowałem 5.4.3 na Pythonie 3 z sudo pip3 install psutil --upgrade. Czy możesz dodać to do swojej odpowiedzi?
wjandrea
Na tym wykresie oś x oznacza użycie procesora, prawda?
wjandrea
1
świetna odpowiedź (+1) - psutil to klejnot. Jest ashame, że nie obejmuje temperatury dysku twardego
WoJ
2

computertemp Zainstaluj computertemp to prosty aplet, który pokazuje aktualną temperaturę procesora + ma kilka dodatkowych funkcji, takich jak alarmy. Niestety nie jest możliwe (a przynajmniej nie wiem jak) zmienić kolor tła, więc nie wygląda to ładnie ze standardowym motywem Ubuntu.

Można go zainstalować w taki sam sposób, jak aplet czujników opisany w odpowiedzi evgeny .


Tekst alternatywny

computertemp nie jest dostępny w nowszych repozytoriach Ubuntu.

sBlatt
źródło
2
w Ubuntu 15.04 sudo apt-get install computertemppowoduje błąd „Nie można znaleźć pakietu computertemp” ...
Nicolas Ivanov
1
printf '%d°\n' $(sensors | grep 'id 0:' | awk '{ print $4 }') 2>/dev/null
55°

printf '% d \ n' Konwertuje wartość na liczbę całkowitą na wypadek, gdyby była potrzebna jako liczba okrągła

intika
źródło
1
Dlaczego echo $(printf ..)nie tylko printf '%d°\n' $(sensors | grep 'id 0:' | awk '{ print $4 }') 2>/dev/null? ... Lub nawetsensors 2>/dev/null | awk '/id 0:/{printf "%d°\n", $4}'
muru
Tak, wiele możliwości, właśnie opublikowałem ten, z którego korzystałem
intika
1

Jeśli używasz Ubuntu z MATE Desktop Environment, możesz użyć apletu MATE Sensors:

  1. Zainstaluj pakiet:

    sudo apt-get install mate-sensors-applet
    

    A jeśli masz kartę graficzną Nvidia, możesz także zainstalować mate-sensors-applet-nvidiapakiet.

  2. Kliknij prawym przyciskiem myszy MATE Panel i kliknij Add to Panel, a następnie wybierz Hardware Sensors Monitor

    Monitor czujników sprzętowych

  3. Po dodaniu możesz go skonfigurować, klikając prawym przyciskiem myszy dowolny czujnik i wybierając Preferencje

    Preferencje Monitor czujników sprzętowych

    Tutaj możesz dostosować listę czujników: temperaturę procesora, płyty głównej i GPU, główne napięcia (Vcore, 3,3 V, 5 V, 12 V itd.) I prędkości wentylatora. Pełna lista zależy od sprzętu (powyższy obrazek dotyczy komputera stacjonarnego z kartą graficzną Nvidia).

  4. Wynik będzie wyglądał

    Czujniki

Oczywiście możesz przenieść ten aplet do najlepszej lokalizacji.

N0rbert
źródło
0

Istnieje wiele różnych miejsc, w których można znaleźć temperaturę w milidegachach. W końcu znalazłem tutaj mój:

/sys/devices/platform/coretemp.0/temp*_input

Oto kilka innych miejsc, w których użytkownicy zgłosili temperaturę

/proc/acpi/thermal_zone/THRM/temperature
/sys/class/thermal/thermal_zone*/temp
/sys/class/thermal/cooling_device*/temp
/sys/devices/platform/f71882fg.1152/temp*_input
/sys/devices/platform/coretemp.0/hwmon/hwmon*/temp*_input

Niektóre z nich są tylko symbolicznymi linkami do innych. Być może będziesz musiał uważnie je znaleźć

Nacht
źródło
0

Tylko dla procesorów Intel Możesz używać i7z.

i7z - lepsze narzędzie do raportowania i7 (a teraz i3, i5) dla systemu Linux.

Zainstaluj to :

sudo apt install i7z 

Następnie uruchom go (należy go uruchomić sudo):

sudo i7z

Przykładowe dane wyjściowe (patrz Tempkolumna - przewiń w prawo ...):

Real Current Frequency 4883.47 MHz [99.98 x 48.85] (Max of below)
    Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %  Temp      VCore
    Core 1 [0]:       4883.47 (48.85x)      10.4    73.7    1.45    12.8    47      1.3547
    Core 2 [1]:       4871.56 (48.73x)      8.65    76.8     1.5    11.7    45      1.3547
    Core 3 [2]:       4877.61 (48.79x)      12.2    75.1       1    9.72    52      1.3547
    Core 4 [3]:       4880.70 (48.82x)      7.57    79.7       1    10.5    47      1.3547
Michał Przybylowicz
źródło