Como obtenho a temperatura da CPU?


Respostas:


584

Instalar sensores lm Instalar sensores lm

sudo apt-get install lm-sensors 

Após a instalação, digite o seguinte no terminal

sudo sensors-detect

Você também pode precisar executar

sudo service kmod start

Isso fará algumas perguntas. Responda Sim para todos eles. Finalmente, para obter o tipo de temperatura da CPU sensorsno seu terminal.

sensors

Resultado:

$ 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

Para ver a temperatura do disco rígido Instale hddtemp Instale hddtemp

sudo apt-get install hddtemp

Resultado:

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

4
Isso não funciona em todo o hardware. No meu sistema, sensorssempre mostra uma temperatura de + 40,0 ° C.
Keith Thompson

6
No meu sistema 13.04, é em sudo service kmod startvez desudo service module-init-tools start
knb

82
Você pode executar watch sensorspara ver os valores de temperatura atualizados a cada segundo.
Drew Noakes

16
Emite avisos sobre ser arriscado. Tem certeza de que deve responder "sim" a tudo? Eu não acho que eles colocaram essas mensagens lá para se divertir ...
stommestack

6
para responder sim a todos os sensores de detecção de perguntas, executaryes yes | sensors-detect
hanshenrik

147

Solução rápida de linha de comando; mostra a temperatura em mil graus Celsius (m ° C)

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

Applet

Se você está procurando uma versão de fácil acesso, adicione um Monitor de Sensores de Hardware ao Gnome-Panel:

  1. sudo apt-get install sensors-applet- isso instalará o pacote sensores-applet Instalar sensores-miniaplicativo
  2. Clique com o botão direito do mouse no painel, selecione Add to panel...e selecione este: texto alternativo

  3. Você Terminou. Você pode configurar quais sensores são exibidos clicando com o botão direito do mouse no applet e selecionando Preferences->Sensors.

    texto alternativo


12
Sua solução de linha de comando pode não funcionar para todos. Porque o caminho será diferente para cada versão do kernel.
precisa saber é o seguinte

3
Sim, não funcionou para mim.
8128

3
Meu sistema Ubuntu 12.04 não tem /proc/acpi/thermal_zone/THRM/temperature; na verdade, não há nada sob o /procnome temperature.
Keith Thompson

13
Isso porque '/ proc' está obsoleto; tente '/ sys / class / Thermal / Thermal_zone0 / temp'
mathepic

4
para que unidades cat /sys/class/thermal/thermal_zone0/temp? Você pode convertê-lo para C / F? ... Parece que os dois primeiros dígitos são os dois primeiros que precedem a casa decimal e os próximos são os que seguem a casa decimal de Celsius.
22416 dylnmc

104

Um bom indicador para monitorar temperatura, velocidade e tensão do ventilador é psensor . Ele mostra a saída de todos os sensores, desenha gráficos. Também as saídas selecionadas podem ser colocadas no painel indicador.

psensor em ação

Pode ser instalado a partir de repositórios Ubuntu digitando:

sudo apt-get install psensor

Versões mais recentes do psensor podem ser instaladas no ppa:

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

Também é possível desenhar gráficos quando você marca as caixas na coluna do gráfico:

Captura de tela

Aqui estão algumas informações com mais fotos.

Outro link útil

Em alguns casos, nem todos os sensores são exibidos. Então você pode correr

sudo sensors-detect

e responda "sim" a todas as perguntas. Mas não é muito seguro em alguns casos, mas nunca tive problemas reais com isso. Uma maneira mais segura é obter respostas padrão.

Alguns sensores adicionais podem aparecer.


Agora, esta é a bomba. Certo.
SDsolar

No meu Ubuntu 16.04, psensoràs vezes usa 30% da CPU, aumentando a temperatura.
dirkjot

2
é um aplicativo de merda.
Ocupa

O problema ainda persiste. O aplicativo não pode ser usado.
Eugene

@raaj - esse bug foi relatado em algum lugar?
Mateusz Konieczny

54

Temperatura sem aplicativos de terceiros

No momento da redação deste artigo, todas as respostas envolvem o uso de utilitários de terceiros. Se você deseja descobrir a temperatura sem instalar nada, use:

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

Para ver quais zonas as temperaturas estão se referindo a usar:

$ 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

As temperaturas são armazenadas em graus Celsius com 3 casas decimais implícitas. sedé usado para "prettificar" a saída.

A última temperatura é x86_pkg_temprelatada em 54.0°C. Para a CPU Skylake i7 6700HQ, usei essa temperatura para a tela da Conky abaixo.

Temperatura com Conky

Se você não se importa com utilitários de terceiros, gosto de usar o Conky - um monitor de sistema leve.

Comandos Conky

Dentro do conky, a variável de sistema que eu usei para monitorar uma CPU Ivy Bridge é:

${hwmon 2 temp 1}°C

Para monitorar uma CPU Skylake, usei:

${hwmon 0 temp 1}°C

Conky display

A tela conky fica assim:

insira a descrição da imagem aqui

A temperatura começa em 72 ° C com uma única CPU funcionando a 100% no modo turbo de 3200 MHz. Em seguida, o turbo é desligado e a temperatura cai de 10 ° C para 62 ° C com uma velocidade não turbo de 2600 MHz. 10 segundos depois, o turbo é ligado novamente e as temperaturas disparam imediatamente até 72 ° C.


Temperatura de controle

Depois de conhecer sua temperatura, você provavelmente deseja controlá-la melhor. tlpfaz maravilhas para manter o sistema sob controle. Funciona com thermald, Intel Powerclamp, Bateria vs CA para alimentação USB, etc. Embora altamente configurável, nunca tive que alterar as definições de configuração para uma experiência agradável pronta para uso. Antes de usá-lo, eu tinha todos os tipos de problemas com um laptop IvyBridge superaquecendo o tempo todo. Eu o tenho no meu novo laptop Skylake e os fãs NUNCA correm, exceto ao fazer a atualização do Ubuntu 16.04 LTS para 18.04.

Você pode obter uma descrição muito detalhada com as instruções de instalação aqui: Pare o superaquecimento da CPU


2
que unidade é essa? maçãs? 1/1000 de ° C? 59/29402 ° de ° F?
phil294

O @Blauhirn Linux está reportando a temperatura como "69000", que é 69.000 graus Celsius. Em toda a minha testá-lo sempre ser "000" depois do ponto decimal implícita então eu não sei por que Linux formata-lo dessa maneira dá de ombros . Obrigado pelo seu comentário, embora tenha me permitido atualizar o display conky com a versão atual.
WinEunuuchs2Unix 4/17/17

sua cotação diz 48000, mas seu texto diz que é 57 graus Celsius? Estou confuso.
Sun

@ Sun Eu havia regenerado o one-liner usando um processador mais novo e não revisei a explicação corretamente. Fixo!
WinEunuuchs2Unix

1
@ncoghlan Obrigado. .5aparece ocasionalmente e suas sedrevisões lidam com isso muito bem.
WinEunuuchs2Unix 15/10

37

O hardinfo Instalar hardinfo é uma ferramenta muito útil para obter todas as informações de hardware.

Instale informações difíceis por sudo apt-get install hardinfo. Então você pode obter temperatura por sensores.

sensor


22
Boa ferramenta procurando, exceto cada página preenche exceto sensores (por exemplo, está em branco) ...
frumbert

15
não funciona para sensores
Mudit Kapil

@frumbert Eu acho que depende lm-sensors!
21416 Pandya

Eu também gosto da tabela ARP. Muito útil para verificar o que está conectado à minha sub-rede.
SDsolar

Os benchmarks estão bastante desatualizados neste programa.
Andriy Makukha

32
  1. instale o pequeno pacote de acpi Instalar acpi por este comando

    sudo apt-get install acpi
    
  2. Você precisará pressionar Y para confirmação pela primeira vez. Agora, para encontrar a temperatura, digite este comando

    acpi -t
    

23
Isso é mais simples do que as respostas lm-sensors. Você poderia explicar a diferença entre acpie lm-sensors?
precisa saber é o seguinte

1
No Ubuntu 16.04, o Skylake Laptop, acpi -tnão produz nada. É uma opção válida, simplesmente não funciona - versão: acpi 1.7.
WinEunuuchs2Unix 25/05

Usei acpi -tcom sucesso no sistema grml live CD para monitorar a temperatura de cada matriz de um processador Core i3. lm-sensorsnão está pré-instalado no grml e não consigo instalar outros pacotes lá. grml.org
Daniel Böhmer

20

XSensors

O XSensors lê dados da biblioteca libsensors sobre a integridade do hardware, como temperatura, tensão e velocidade do ventilador, e exibe as informações em uma leitura digital.

Abra o terminal e digite:

sudo apt-get install xsensors lm-sensors

Em seguida, detecte os sensores de hardware do seu computador abrindo o terminal e executando o comando:

sudo sensors-detect

Em seguida, você será questionado sobre o hardware que deseja que o programa detecte. Geralmente, é seguro e recomendado aceitar as respostas padrão para todas as perguntas, a menos que você saiba o que está fazendo.

Captura de tela do XSensors

Xsensors vs. Psensor

O XSensors e o Psensor monitoram a temperatura do computador e a velocidade do ventilador. A diferença entre os dois aplicativos está no nível de detalhe das informações exibidas e como as informações são exibidas.

O XSensors exibe informações um pouco mais específicas que o Psensor. O Psensor é menor e mais discreto que o XSensors e é exibido na área de trabalho como um pequeno ícone de termômetro na área de notificação, no canto superior direito da área de trabalho, próximo ao relógio. Você pode clicar com o botão direito do mouse no ícone do termômetro a qualquer momento para exibir as temperaturas do hardware.

A configuração do Psensor para detectar o hardware do seu computador é feita da mesma maneira que o Xsensors, instalando lm-sensores para detectar os sensores de hardware do seu computador. Em seguida, detecte os sensores de hardware do seu computador executando o comando:

sudo sensors-detect  

e, como no Xsensors, aceite as respostas padrão para todas as perguntas.

No Ubuntu 16.04 e posterior, o Psensor detecta automaticamente os sensores de hardware do seu computador sem executar sudo sensors-detect


2
Psensor parece ser mais avançado
Serge

1
Eu concordo, @Serge. psensor é o que eu vou usar.
SDsolar

Eu também uso Psensor.
Karel

17

Depois de instalar o lm-sensores:

sudo apt-get install lm-sensors

corre:

sudo sensors-detect

você pode executar o seguinte comando para visualizar os temps de hardware:

watch -n 1 sensors

Além disso, o ventilador geralmente é controlado pelo BIOS.


12
Eu gosto da dica sobre o uso do relógio, é um dos meus favoritos. eu também recomendo adicionar a opção -d para assistir para destacar as diferenças.
Joshua K

Isto deu-me a leitura de temperatura de 4 núcleos no meu i7-3770 no Ubuntu LTS 16.0.4 rodando 100% da CPU (~ 77 graus Celsius)
Sun

12

No Raspberry Pi, você pode recuperar a temperatura usando vcgencmd:

vcgencmd measure_temp

Resultado:

temp=39.0'C

2
Não, isso lhe dará a frequência. Usevcgencmd measure_temp
MrD

Desculpe, um muito doloroso copy & paste erro :)
Ercksen

9

Para que vocês saibam, nada disso sensorsé necessário. Basta fazer um acpi -Ve BOOM, você tem tudo. Exemplo:

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

Muito mais fácil do que instalar tudo isso e kmod ... Basta fazer acpi -V.


25
Certo ... porque você não precisa instalar esse? Errado! The program 'acpi' is currently not installed. You can install it by typing: sudo apt-get install acpi
e-sushi

8
E nem sempre fornece as mesmas informações. Na minha máquina, sensorsfornece a temperatura enquanto acpi -Vque não mostra nada sobre isso, infelizmente.
Per Lundberg

1
acpi -Vestá quebrado para o laptop Skylake, Ubuntu 16.04, acpi versão 1.7
WinEunuuchs2Unix 25/05

5
/sys/class/thermal/thermal_zone0/temp

Este arquivo mantém a temperatura da CPU. Assim, você pode criar um script nomeado tempe movê-lo para /binentão no terminal enter temp.

Meu temparquivo parece -

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

minha resposta é modificada de www.cyberciti.biz


Eu tentei 4 máquinas em locais diferentes e todas elas apresentam a mesma leitura = 27800. Você sabe por que isso pode acontecer? Todos eles não podem ter a mesma temperatura da CPU.
Katu

@ Katu Eu acho que isso pode significar 27,8 graus. Eu usei um outro programa e encontrei o meu núcleo 0 foi de 49 C. Então eu fiz o comando acima e tem 49000.
Philip Kirkbride

5

Toda festa:

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
Na verdade, é um roteiro muito bom.
Philippe Delteil

4

Se você gosta de Python, pode usar 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)]

... fará o trabalho. Com um pouco de codificação, você pode, por exemplo, obter o Temp vs CPU do seu sistema.

insira a descrição da imagem aqui

É conveniente atualizar psutilcom a emissão sudo pip3 install psutil --upgrade.


Eu o tenho no Python 2, mas não tem um sensors_temperaturesatributo, e não no Python 3. Estou usando o Ubuntu 14.04. Então, como faço para obtê-lo?
Wjandrea

qual versão do psutil você está usando? o meu é 5.4.3. Tente atualizar você versão: sudo pip2 install psutil --upgrade.
Lucas Aimaretto 16/02

1
Estou usando o 1.2.1 no Python 2 e a atualização falha (mas o Python 2 no 14.04 está realmente desatualizado, então não estou preocupado). Acabei de instalar o 5.4.3 no Python 3 com sudo pip3 install psutil --upgrade. Você poderia adicionar isso à sua resposta?
Wjandrea

Nesse gráfico, o eixo x é o uso da CPU, certo?
Wjandrea

1
ótima resposta (+1) - psutil é uma jóia. É uma pena que não cubra a temperatura do HDD
WoJ

2

computertemp Instale o computertemp é um applet simples que mostra a temperatura atual da CPU + possui alguns recursos adicionais, como alarmes. Infelizmente, não é possível (ou pelo menos não sei como) alterar a cor de fundo, por isso não parece muito agradável com o tema padrão do Ubuntu.

Ele pode ser instalado da mesma maneira que o miniaplicativo de sensores descrito na resposta da evgeny .


texto alternativo

O computertemp não está disponível nos repositórios mais recentes do Ubuntu.


2
no Ubuntu 15.04 sudo apt-get install computertempresultados no erro "Não foi possível localizar pacote computertemp" ...
Nicolas Ivanov

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

printf '% d \ n' Converterá o valor em número inteiro, caso você precise dele como um número redondo


1
Por que echo $(printf ..)e não apenas printf '%d°\n' $(sensors | grep 'id 0:' | awk '{ print $4 }') 2>/dev/null? ... Ou mesmo apenassensors 2>/dev/null | awk '/id 0:/{printf "%d°\n", $4}'
Muru

Sim, um monte de possibilidade, eu só postou o que eu estava usando
intika

1

Se você estiver usando o Ubuntu com o MATE Desktop Environment, poderá usar o applet MATE Sensors:

  1. Instale o pacote:

    sudo apt-get install mate-sensors-applet
    

    E se você possui uma placa de vídeo Nvidia, também pode instalar o mate-sensors-applet-nvidiapacote.

  2. Clique com o botão direito do mouse em MATE Panel e clique em Add to Panel e escolha Hardware Sensors Monitor

    Monitor de sensores de hardware

  3. Após adicionar, você pode configurá-lo clicando com o botão direito do mouse em qualquer sensor e selecionando Preferências

    Preferências Monitor de sensores de hardware

    Aqui você pode personalizar a lista de sensores: temperatura da CPU, placa-mãe e GPU, tensões principais (Vcore, 3.3V, 5V, 12V, etc) e velocidade do ventilador. A lista completa depende do hardware (a imagem acima é para desktop com placa de vídeo Nvidia).

  4. O resultado será semelhante

    Sensores

Claro que você pode mover este applet para a melhor localização.


0

Existem muitos lugares diferentes em que você pode encontrar a temperatura listada em milissegundos. Finalmente encontrei o meu aqui:

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

Aqui estão alguns outros lugares que os usuários relataram ter encontrado sua temperatura

/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

Alguns desses são apenas links simbólicos para os outros. Pode ser necessário procurar com cuidado para encontrá-lo


0

Apenas para CPUs Intel Você pode usar i7z.

i7z - Uma melhor ferramenta de relatório do i7 (e agora i3, i5) para Linux.

Instale-o :

sudo apt install i7z 

Em seguida, execute-o (ele deve ser executado com sudo):

sudo i7z

Exemplo de saída (consulte a Tempcoluna - role para a direita ...):

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.