Як отримати температуру процесора?


Відповіді:


584

Встановіть lm-датчики Встановіть lm-датчики

sudo apt-get install lm-sensors 

Після установки введіть наступне в терміналі

sudo sensors-detect

Вам також може знадобитися бігти

sudo service kmod start

Це задасть вам кілька запитань. Відповідь так для всіх. Нарешті, щоб sensorsу терміналі отримати тип температури процесора .

sensors

Вихід:

$ 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

Щоб побачити температуру жорсткого диска, встановіть hddtemp Встановіть hddtemp

sudo apt-get install hddtemp

Вихід:

$ sudo hddtemp /dev/sda        
/dev/sda: ST3160813AS: 34°C

4
Це працює не на всьому апаратному забезпеченні. У моїй системі sensorsзавжди відображається температура + 40,0 ° C.
Кіт Томпсон

6
У моїй системі 13.04 це sudo service kmod startзамістьsudo service module-init-tools start
knb

82
Ви можете бігти, watch sensorsщоб побачити значення температури, що оновлюються щосекунди.
Дрю Ноакс

16
Це дає попередження про ризик. Ви впевнені, що вам слід відповісти "так" на все? Я не думаю, що вони розмістили ці повідомлення там для розваги ...
stommestack

6
щоб відповісти "так" на всі питання, що визначають датчики, запустітьyes yes | sensors-detect
hanshenrik

147

Швидке рішення командного рядка; показує температуру в міліградах Цельсія (м ° С)

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

Аплет

Якщо ви шукаєте простішу доступну версію, додайте апаратний монітор датчиків до панелі Gnome:

  1. sudo apt-get install sensors-applet- це встановить пакет sensors-applet Встановіть датчики-аплети
  2. Клацніть правою кнопкою миші на панелі, виберіть Add to panel..., а потім виберіть це: alt текст

  3. Ви закінчили. Ви можете налаштувати, які датчики відображаються, клацнувши аплет правою кнопкою миші та вибравши Preferences->Sensors.

    alt текст


12
Рішення вашого командного рядка може працювати не для всіх. Тому що шлях буде різним для кожної версії ядра.
karthick87

3
Так, це не працювало для мене.
8128

3
У моїй системі Ubuntu 12.04 немає /proc/acpi/thermal_zone/THRM/temperature; насправді немає нічого під /procназвою temperature.
Кіт Томпсон

13
Це тому, що "/ proc" застаріло; спробуйте '/ sys / class / thermal / termal_zone0 / temp'
математика

4
для яких одиниць cat /sys/class/thermal/thermal_zone0/temp? Чи можете ви перетворити його на C / F? ... Схоже, перші дві цифри - це перші дві цифри, що передують десятковому знаку, а наступні - цифри, наступні за десятковою комою за Цельсієм.
dylnmc

104

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

псенсор у дії

Його можна встановити з сховищ Ubuntu, ввівши:

sudo apt-get install psensor

Новіші версії psensor можна встановити з ppa:

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

Він також може малювати графіки, коли ви поставите галочки в стовпці графіка:

Знімок екрана

Ось трохи інформації з більше фотографій.

Ще одне корисне посилання

У деяких випадках не всі датчики відображаються. Тоді можна бігти

sudo sensors-detect

і відповісти "так" на всі питання. Але в деяких випадках це не зовсім безпечно, але у мене жодних справжніх проблем із цим не виникало. Більш безпечний спосіб - це відповіді за замовчуванням.

Можуть з’явитися деякі додаткові датчики.


Тепер ЦЕ - бомба. Прямо на.
SDsolar

На моєму Ubuntu 16.04 psensorінколи буде використовувати 30% процесор, що підвищує температуру.
dirkjot

2
його лайно додаток. займає 100% процесор
raaj

Проблема все ще зберігається. Додаток непридатний.
Євген

@raaj - ця помилка десь повідомляється?
Матеуш Коньєчний

54

Температура без сторонніх додатків

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

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

Щоб побачити, в яких зонах використовуються температури:

$ 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

Температури зберігаються в Цельсії з 3 десятковою комою. sedвикористовується для "вдосконалення" виводу.

Про останню температуру x86_pkg_tempповідомляється при 54.0°C. Для процесора Skylake i7 6700HQ я використовував цю температуру для відображення Conky нижче.

Температура з Конкі

Якщо ви не заперечуєте проти сторонніх утиліт, я хотів би використовувати Conky - монітор системи легкої ваги.

Конькі команди

Системна змінна, яку я використовував для моніторингу процесора Ivy Bridge, у межах:

${hwmon 2 temp 1}°C

Для моніторингу процесора Skylake я використовував:

${hwmon 0 temp 1}°C

Конічний дисплей

Конічний дисплей виглядає приблизно так:

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

Температура починається від 72 ° C, при цьому один процесор працює на 100% в турбо-режимі 3200 МГц. Потім турбо вимикається, а темп падає від 10 ° С до 62 ° С з нетурбовою швидкістю 2600 МГц. Через 10 секунд турбо включається, і температура одразу ж зростає до 72 ° С.


Контроль температури

Знаючи свою температуру, ви, мабуть, хочете краще контролювати її. tlpтворить чудеса, щоб тримати систему під контролем. Він працює з thermaldIntel Powerclamp, Battery vs AC для живлення USB і т. Д. Незважаючи на те, що можна налаштувати, мені ніколи не доводилося змінювати налаштування конфігурації для приємного досвіду Out-Of-The-Box. До його використання у мене постійно виникали всілякі проблеми з перегрівом ноутбука IvyBridge. У мене це є на моєму новому ноутбуці Skylake і вентилятори НІКОЛИ не працюють, за винятком випадків, коли ви робите оновлення Ubuntu 16.04 LTS до 18.04.

Ви можете отримати дуже детальну інформацію про інструкції з установки тут: Не зупиняйте процесор від перегріву


2
що це за одиниця? яблука? 1 / 1000й ° С? 59/29402 ° F?
Blauhirn

@Blauhirn Linux повідомляє про температуру як "69000", що становить 69 000 градусів Цельсія. В усьому моєму тестуванні він завжди буде "000" після десяткової десяткової крапки, тому я не впевнений, чому Linux так формує плечі . Дякуємо за ваш коментар, хоча це дозволило мені оновити конічний показ із поточною версією.
WinEunuuchs2Unix

Ваша цитата каже 48000, але ваш текст говорить, що це 57 градусів Цельсія? Я збентежений.
Нд

@Sun я відновив однолінійний апарат за допомогою новішого процесора і не переглянув пояснення належним чином. Виправлено!
WinEunuuchs2Unix

1
@ncoghlan Дякую .5час від часу з’являється, і ваші sedзміни будуть це впорати.
WinEunuuchs2Unix

37

hardinfo Встановіть жорстку інформацію - дуже корисні інструменти для отримання всієї технічної інформації.

Встановіть важку інформацію від sudo apt-get install hardinfo. Тоді ви можете отримати температуру за допомогою датчиків.

датчик


22
Добре виглядає засіб, за винятком кожної окремої сторінки, за винятком датчиків (наприклад, порожнє) ...
frumbert

15
не працює для датчиків
Мудіт Капіль

@frumbert Я думаю, це залежить від цього lm-sensors!
Пандія

Мені також подобається таблиця ARP. Дуже зручно перевірити, що підключено до моєї підмережі.
SDsolar

Показові показники досить застарілі в цій програмі.
Андрій Макуха

32
  1. встановіть невеликий пакет acpi Встановіть acpi за допомогою цієї команди

    sudo apt-get install acpi
    
  2. Вам потрібно буде натиснути Y для підтвердження вперше. Тепер, щоб знайти температуру, введіть цю команду

    acpi -t
    

23
Це простіше, ніж відповіді про lm-sensors. Чи можете ви пояснити різницю між acpiта lm-sensors?
fikr4n

1
На Ubuntu 16.04, ноутбук Skylake, acpi -tнічого не видається . Це допустимий варіант, просто не працює - версія: acpi 1.7.
WinEunuuchs2Unix

Я успішно використовував acpi -tу grml live CD-системі для моніторингу температури кожного штампу процесора Core i3. lm-sensorsне встановлено на grml, і я не можу встановити там інші пакунки. grml.org
Даніель Бьомер

20

XSensors

XSensors зчитує дані з бібліотеки лібсенсорів щодо стану обладнання, таких як температура, напруга та швидкість вентилятора та відображає інформацію в цифровому зчитуванні.

Відкрийте термінал і введіть:

sudo apt-get install xsensors lm-sensors

Потім виявіть апаратні датчики комп'ютера, відкривши термінал і запустивши команду:

sudo sensors-detect

Тоді вам буде задано багато питань про те, яке обладнання ви хочете, щоб програма виявила. Зазвичай безпечно і рекомендується приймати відповіді за замовчуванням на всі питання, якщо ви не знаєте, що робите.

Скріншот XSensors

Xsensors vs. Psensor

XSensors і Psensor відстежують температуру комп'ютера та швидкість роботи вентилятора. Різниця між двома програмами полягає у рівні деталізації інформації, яка відображається, та способу відображення інформації.

XSensors відображає трохи більш конкретну інформацію, ніж Psensor. Psensor менший і ненав'язливіший, ніж XSensors, і він відображається на робочому столі як невеликий значок термометра в області сповіщень у правому верхньому куті робочого столу поруч із годинником. Ви можете будь-коли клацнути правою кнопкою миші піктограму термометра для відображення апаратних температур.

Налаштування Psensor для виявлення апаратних засобів вашого комп'ютера робиться так само, як Xsensors, встановивши lm-датчики для виявлення апаратних датчиків вашого комп'ютера. Потім виявіть апаратні датчики комп'ютера, які виконують команду:

sudo sensors-detect  

і як у Xsensors, прийміть відповіді за замовчуванням на всі запитання.

В Ubuntu 16.04 і пізніших версіях Psensor автоматично визначає апаратні датчики комп'ютера, не працюючи sudo sensors-detect


2
Psensor здається більш розвиненим
Серж

1
Я згоден, @Serge. psensor - це той, який я збираюся використовувати.
SDsolar

Я також використовую Psensor.
карел

17

Після встановлення lm-датчиків:

sudo apt-get install lm-sensors

запустити:

sudo sensors-detect

Ви можете запустити таку команду для перегляду темпів обладнання:

watch -n 1 sensors

Також вентилятор зазвичай управляється BIOS.


12
Мені подобається порада щодо використання годинника, це один з моїх улюблених. Я також рекомендую додати опцію -d для перегляду, щоб виділити відмінності.
Джошуа К

Це дало мені 4 ядра темп читання на моєму i7-3770 на Ubuntu 16.0.4 LTS з 100% процесором (~ 77 градусів Цельсія)
Нд

12

На Raspberry Pi можна встановити температуру, використовуючи vcgencmd:

vcgencmd measure_temp

Вихід:

temp=39.0'C

2
Ні, це дасть вам частоту. Використанняvcgencmd measure_temp
MrD

Вибачте, дуже болісна помилка копіювання та вставки :)
Ercksen

9

Так що ви, хлопці, знаєте, нічого з цього sensorsне потрібно встановлювати. Просто зробіть acpi -Vі БУМ, у вас все є. Приклад:

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

ШЛЯХО простіше, ніж установка всього цього і kmod ... Просто зробіть acpi -V.


25
Правильно ... тому що вам не доведеться встановлювати його? Неправильно! The program 'acpi' is currently not installed. You can install it by typing: sudo apt-get install acpi
e-sushi

8
І це також не завжди дає однакову інформацію. На моїй машині sensorsпередбачена температура, тоді як acpi -V, на жаль, нічого не показує.
Пер Лундберг

1
acpi -Vзламана для ноутбука Skylake, Ubuntu 16.04, версія acpi 1.7
WinEunuuchs2Unix

5
/sys/class/thermal/thermal_zone0/temp

цей файл містить температуру процесора. Таким чином, ви можете створити скрипт з ім'ям tempі перемістити його до /binпотім у термінальний вхід temp.

Мій tempфайл виглядає як -

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

моя відповідь модифікована на www.cyberciti.biz


Я спробував 4 машини в різних місцях, і всі вони дають однакове читання = 27800. Ви знаєте, чому це могло бути? У всіх їх не може бути однакова температура процесора.
Кату

@Katu Я думаю, що це може означати 27,8 градусів. Я використав іншу програму і виявив, що мій Core 0 становив 49 С. Потім я зробив вищезазначену команду і отримав 49000.
Філіп Кіркбрід

5

Все баш:

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

1
Це насправді досить хороший сценарій.
Філіп Дельтейль

4

Якщо вам подобається Python, ви можете використовувати 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)]

... зробить роботу. Трохи кодуючи, ви можете, наприклад, отримати Temp vs CPU вашої системи.

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

Оновити зручно psutil, видавши sudo pip3 install psutil --upgrade.


У мене він є на Python 2, але у нього немає sensors_temperaturesатрибуту, і у мене немає на Python 3. Я використовую Ubuntu 14.04. То як мені це отримати?
wjandrea

яку версію psutil ви використовуєте? міна 5.4.3. Спробуйте оновити вам версію: sudo pip2 install psutil --upgrade.
Лукас Аймаретто

1
Я використовую 1.2.1 на Python 2, і оновлення не вдається (але Python 2 14.04 дійсно застарів, тому мене це не турбує). Я щойно встановив 5.4.3 на Python 3 с sudo pip3 install psutil --upgrade. Чи можете ви додати це до своєї відповіді?
wjandrea

На цій ділянці вісь x - це використання процесора, правда?
wjandrea

1
чудова відповідь (+1) - psutil - це дорогоцінний камінь. Це ashame, він не покриває температуру жорсткого диска
WoJ

2

computertemp Встановіть комп'ютерний крок - це простий аплет, який показує поточну температуру процесора + має деякі додаткові функції, такі як тривоги. На жаль, неможливо (або, принаймні, я не знаю, як) змінити колір тла, тому зі стандартною темою Ubuntu це виглядає не дуже добре.

Він може бути встановлений так само, як датчики-аплети, описані у відповіді Євгена .


Alt текст

Комп'ютерний режим недоступний у нових сховищах Ubuntu.


2
в Ubuntu 15.04 sudo apt-get install computertempпризводить до помилки "Неможливо знайти комп'ютерний темп пакету" ...
Ніколя Іванов

1
printf '%d°\n' $(sensors | grep 'id 0:' | awk '{ print $4 }') 2>/dev/null
55°

printf '% d \ n' Перетворить значення в ціле число, якщо вам це потрібно як кругле число


1
Чому echo $(printf ..)і не просто printf '%d°\n' $(sensors | grep 'id 0:' | awk '{ print $4 }') 2>/dev/null? ... Або навіть простоsensors 2>/dev/null | awk '/id 0:/{printf "%d°\n", $4}'
муру

Так, дуже багато можливостей, я щойно опублікував той, яким я користувався
intika

1

Якщо ви використовуєте Ubuntu з MATE Desktop Environment, ви можете використовувати аплет датчиків MATE:

  1. Встановіть пакет:

    sudo apt-get install mate-sensors-applet
    

    А якщо у вас є відеокарта Nvidia, ви також можете встановити mate-sensors-applet-nvidiaпакет.

  2. Клацніть правою кнопкою миші на панелі MATE та натисніть кнопку Додати до панелі, а потім виберіть « Монітор датчиків обладнання»

    Монітор апаратних датчиків

  3. Після додавання ви можете налаштувати його, клацнувши правою кнопкою миші на будь-якому датчику та вибравши Налаштування

    Налаштування Монітор апаратних датчиків

    Тут ви можете налаштувати список датчиків: температура процесора, материнської плати та графічного процесора, основні напруги (Vcore, 3.3V, 5V, 12V тощо) та швидкості вентилятора. Повний список залежить від обладнання (зображення вище для робочого столу з графічною картою Nvidia).

  4. Результат буде виглядати приблизно так

    Датчики

Звичайно, ви можете перемістити цей аплет в найкраще місце.


0

Існує дуже багато різних місць, де ви можете знайти температуру, перелічену в міліградах. Я нарешті знайшов тут своє:

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

Ось деякі інші місця, де користувачі повідомили, що виявили свою температуру

/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

Деякі з них є лише символічними посиланнями на інші. Можливо, вам доведеться уважно подивитися, щоб знайти його


0

Тільки для процесорів Intel, які ви можете використовувати i7z.

i7z - кращий інструмент звітування i7 (а тепер i3, i5) для Linux.

Встановіть його:

sudo apt install i7z 

Потім запустіть його (його потрібно запустити sudo):

sudo i7z

Приклад виведення (див. TempСтовпчик - прокрутка праворуч ...):

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