Как мне узнать температуру процессора?

Ответы:

584

Установить лм-датчики Установить лм-датчики

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
karthick87
источник
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

Быстрое решение командной строки; показывает температуру в градусах Цельсия (м ° C)

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

Апплет

Если вы ищете более легкую для доступа версию, добавьте Монитор аппаратных датчиков в Gnome-Panel:

  1. sudo apt-get install sensors-applet- это установит пакет датчиков-апплета Установить датчики-апплет
  2. Щелкните правой кнопкой мыши панель, выберите Add to panel..., затем выберите это: альтернативный текст

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

    альтернативный текст

евгений
источник
12
Ваше решение командной строки может не работать для всех. Потому что путь будет различным для каждой версии ядра.
karthick87
3
Да, это не сработало для меня.
8128
3
Моя система Ubuntu 12.04 не имеет /proc/acpi/thermal_zone/THRM/temperature; на самом деле нет ничего под /procименем temperature.
Кит Томпсон
13
Это потому, что «/ proc» устарела; попробуйте '/ sys / class / thermal / thermal_zone0 / temp'
mathepic
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

и ответьте «да» на все вопросы. Но в некоторых случаях это не совсем безопасно, но у меня никогда не было с этим реальных проблем. Более безопасный способ - принять ответы по умолчанию.

Некоторые дополнительные датчики могут появиться.

Pilot6
источник
Теперь это бомба. Право на.
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 - легкий системный монитор.

Комкие команды

В conky системная переменная, которую я использовал для мониторинга процессора Ivy Bridge:

${hwmon 2 temp 1}°C

Для мониторинга процессора Skylake я использовал:

${hwmon 0 temp 1}°C

Conky дисплей

Конки дисплей выглядит так:

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

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


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

Зная вашу температуру, вы, вероятно, захотите лучше ее контролировать. tlpтворит чудеса, чтобы держать систему под контролем. Он работает с thermaldIntel Powerclamp, батареей и переменным током для питания USB и т. Д. Несмотря на то, что он легко настраивается, мне никогда не приходилось менять параметры конфигурации для приятного опыта работы «из коробки». До его использования у меня были всевозможные проблемы с перегревом ноутбука IvyBridge. У меня он есть на моем новом ноутбуке Skylake, и вентиляторы НИКОГДА не запускаются, за исключением случаев, когда я обновляю Ubuntu 16.04 LTS до 18.04.

Вы можете получить очень подробное описание с инструкциями по установке здесь: Остановите процессор от перегрева

WinEunuuchs2Unix
источник
2
что это за единица? яблоки? 1/1000 ° C 59/29402 ° F?
phil294
@Blauhirn Linux сообщает о температуре «69000», что составляет 69.000 градусов по Цельсию. Во всех моих тестах это всегда будет «000» после подразумеваемой десятичной точки, поэтому я не уверен, почему Linux форматирует это так, пожимает плечами . Спасибо за ваш комментарий, хотя он позволил мне обновить conky display с текущей версией.
WinEunuuchs2Unix
ваша цитата говорит 48000, но ваш текст говорит, что это 57 градусов по Цельсию? Я не совсем понимаю.
Вс
@ Солнце Я восстановил однострочник с использованием более нового процессора и не пересмотрел объяснение должным образом. Исправлена!
WinEunuuchs2Unix
1
@ncoghlan Спасибо. .5время от времени появляется, и ваши sedизменения будут справляться с этим приятно.
WinEunuuchs2Unix
37

Hardinfo Установить hardinfo - очень полезный инструмент для получения всей информации об оборудовании.

Установить жесткий информация sudo apt-get install hardinfo. Тогда вы можете получить температуру с помощью датчиков.

датчик

Pandya
источник
22
Хорошо выглядящий инструмент, за исключением того, что заполняется каждая страница, кроме датчиков (например, пусто) ...
frumbert
15
не работает для датчиков
Mudit Kapil
@frumbert Я думаю, это зависит от lm-sensors!
Пандя
Мне также нравится таблица ARP. Довольно удобно, чтобы проверить, что подключено к моей подсети.
SDsolar
Тесты довольно устарели в этой программе, хотя.
Андрей Макуха
32
  1. установить небольшой пакет acpi Установить acpi этой командой

    sudo apt-get install acpi
    
  2. Вам нужно будет нажать Y для подтверждения в первый раз. Теперь чтобы найти температуру введите эту команду

    acpi -t
    
Mrinal
источник
23
Это проще, чем ответы lm-sensors. Не могли бы вы объяснить разницу между acpiи lm-sensors?
fikr4n
1
На Ubuntu 16.04, Skylake Laptop, acpi -tничего не выводит. Это допустимый вариант, просто не работает - версия: acpi 1.7.
WinEunuuchs2Unix
Я успешно использовал acpi -tна GRML системы Live CD для контроля температуры каждой фильеры процессора Core i3. lm-sensorsне установлен на grml, и я не могу установить другие пакеты там. grml.org
Даниэль Бёмер
20

XSensors

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

Откройте терминал и введите:

sudo apt-get install xsensors lm-sensors

Затем определите аппаратные датчики вашего компьютера, открыв терминал и выполнив команду:

sudo sensors-detect

Затем вам зададут много вопросов о том, какое оборудование вы хотите, чтобы программа обнаружила. Обычно безопасно и рекомендуется принимать ответы по умолчанию на все вопросы, если вы не знаете, что делаете.

Скриншот XSensors

Xsensors против Psensor

XSensors и Psensor контролируют температуру компьютера и скорости вращения вентилятора. Разница между этими двумя приложениями заключается в уровне детализации отображаемой информации и способе отображения информации.

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

Настройка Psensor для обнаружения аппаратного обеспечения вашего компьютера выполняется так же, как и Xsensors, путем установки lm-сенсоров для обнаружения аппаратных датчиков вашего компьютера. Затем определите аппаратные датчики вашего компьютера, выполнив команду:

sudo sensors-detect  

и, как и в случае с Xsensors, примите ответы по умолчанию на все вопросы.

В Ubuntu 16.04 и более поздних версиях Psensor автоматически обнаруживает аппаратные датчики вашего компьютера без запуска sudo sensors-detect

Карел
источник
2
Псенсор кажется более продвинутым
Серж
1
Я согласен, @Serge. psensor - это то, что я собираюсь использовать.
SDsolar
Я также использую Psensor.
Карел
17

После установки lm-сенсоров:

sudo apt-get install lm-sensors

бегать:

sudo sensors-detect

Вы можете запустить следующую команду, чтобы просмотреть аппаратные температуры:

watch -n 1 sensors

Также вентилятор обычно контролируется BIOS.

mchid
источник
12
Мне нравится совет об использовании часов, это один из моих любимых. Я также рекомендую добавить опцию -d, чтобы увидеть различия.
Джошуа К
Это дало мне 4-ядерное временное чтение на моем i7-3770 на Ubuntu 16.0.4 LTS с 100% процессором (~ 77 градусов по Цельсию)
Sun
12

На Raspberry Pi вы можете получить температуру, используя vcgencmd:

vcgencmd measure_temp

Выход:

temp=39.0'C
Ercksen
источник
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.

lolzies
источник
25
Правильно ... потому что вам не нужно устанавливать это? Неправильно! The program 'acpi' is currently not installed. You can install it by typing: sudo apt-get install acpi
e-суши
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

alhelal
источник
Я пробовал 4 машины в разных местах, и все они дают одинаковое значение = 27800. Вы знаете, почему это может быть? Они не могут иметь одинаковую температуру процессора.
Кату
@ Кату Я думаю, это может означать 27,8 градусов. Я использовал другую программу и обнаружил, что мой Core 0 был 49 C. Затем я выполнил вышеуказанную команду и получил 49000.
Philip
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 против CPU вашей системы.

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

Обновлять удобно psutil, выдавая sudo pip3 install psutil --upgrade.

Лукас Аймаретто
источник
У меня есть это на Python 2, но у него нет sensors_temperaturesатрибута, и у меня его нет на Python 3. Я использую Ubuntu 14.04. Так как мне это получить?
августа
какую версию 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 - это драгоценный камень. Стыдно, это не покрывает температуру жесткого диска
WoJ
2

computertemp Установить компьютер - это простой апплет, который показывает текущую температуру процессора + он имеет некоторые дополнительные функции, такие как аварийные сигналы. К сожалению, невозможно (или, по крайней мере, я не знаю, как) изменить цвет фона, поэтому он не очень хорошо выглядит со стандартной темой Ubuntu.

Его можно установить так же, как и апплет датчиков, описанный в ответе евгения .


Альтернативный текст

computertemp недоступен в более новых репозиториях Ubuntu.

sBlatt
источник
2
в Ubuntu 15.04 sudo apt-get install computertempприводит к ошибке «Не удается найти пакет computertemp» ...
Николай Иванов
1
printf '%d°\n' $(sensors | grep 'id 0:' | awk '{ print $4 }') 2>/dev/null
55°

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

intika
источник
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 Sensors:

  1. Установите пакет:

    sudo apt-get install mate-sensors-applet
    

    И если у вас есть видеокарта Nvidia, вы также можете установить mate-sensors-applet-nvidiaпакет.

  2. Сделайте правый клик на MATE Panel и нажмите Add to Panel, затем выберите Hardware Sensors Monitor

    Аппаратные датчики Монитор

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

    Настройки Аппаратные датчики Монитор

    Здесь вы можете настроить список датчиков: температуру процессора, материнской платы и графического процессора, основные напряжения (Vcore, 3,3 В, 5 В, 12 В и т. Д.) И скорости вращения вентиляторов. Полный список зависит от аппаратного обеспечения (изображение выше для рабочего стола с графической картой Nvidia).

  4. Результат будет выглядеть так

    датчиков

Конечно, вы можете переместить этот апплет в лучшее место.

N0rbert
источник
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

Некоторые из них являются просто символическими ссылками на другие. Возможно, вам придется внимательно посмотреть, чтобы найти его

Nacht
источник
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
Михал Пжибылович
источник