如何获得CPU温度?


Answers:


584

安装lm传感器 安装lm传感器

sudo apt-get install lm-sensors 

安装后,在终端中输入以下内容

sudo sensors-detect

您可能还需要运行

sudo service kmod start

它会问你几个问题。对所有答案都是。最后sensors在终端中输入CPU温度类型。

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查看温度值每秒更新。
Drew Noakes

16
它发出有关冒险的警告。您确定对所有内容都回答“是”吗?我认为他们没有把这些消息放在那儿取乐...
stommestack

6
要回答所有传感器检测问题,请运行yes yes | sensors-detect
hanshenrik

147

快速的命令行解决方案;以摄氏度为单位显示温度(m°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;实际上,在/procnamed 下没有任何内容temperature
基思·汤普森

13
那是因为不推荐使用“ / proc”;尝试'/ SYS /班/热/ thermal_zone0 / TEMP'
mathepic

4
什么单位cat /sys/class/thermal/thermal_zone0/temp?可以将其转换为C / F吗?...看起来前两位数字是摄氏度的小数点后的前两位,而下一位是摄氏温度的小数点后的两位。
dylnmc '16

104

psensor是监视温度,风扇速度和电压的良好指示器。它显示所有传感器的输出,并绘制图表。也可以将选定的输出放置在指示器面板中。

psensor的作用

可以通过键入以下内容从Ubuntu存储库安装:

sudo apt-get install psensor

可以从ppa安装较新版本的psensor:

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

当您在图形列中的方框中打勾时,它也可以绘制图形:

屏幕截图

这里是一些图片更多的信息。

另一个有用的链接

在某些情况下,不会显示所有传感器。那你就可以跑

sudo sensors-detect

并对所有问题回答“是”。但是在某些情况下并不十分安全,但我对此从未遇到任何实际问题。一种更安全的方法是采用默认答案。

可能会出现一些其他传感器。


现在,这是炸弹。对了
SDsolar '17

在我的Ubuntu 16.04上,psensor有时会使用30%的CPU,从而导致温度升高。
dirkjot

2
它是一个烂应用。占用100%cpu
raaj

问题仍然存在。应用无法使用。
尤金(Eugene)

@raaj-此错误是在某处报告的吗?
Mateusz Konieczny

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 CPU,我将此温度用于下面的Conky显示屏。

温度与康基

如果您不介意第三方实用程序,那么我喜欢使用轻巧的系统监视器Conky。

Conky命令

在conky中,我用来监视Ivy Bridge CPU的系统变量是:

${hwmon 2 temp 1}°C

要监视我使用的Skylake CPU:

${hwmon 0 temp 1}°C

Conky展示架

conky显示如下:

在此处输入图片说明

温度始于72°C,单个CPU在3200 MHz的Turbo模式下以100%运行。然后关闭涡轮,温度以2600 MHz的非涡轮速度下降10°C至62°C。10秒钟后,涡轮重新打开,温度立即飙升至72°C。


控制温度

了解温度后,您可能希望更好地控制温度。tlp使系统处于受控状态的奇迹。它可以与thermald,英特尔Powerclamp,USB电池和交流电源(用于USB电源等)配合使用。尽管高度可配置,但我从未更改过配置设置即可获得愉悦的开箱即用体验。在使用它之前,IvyBridge笔记本电脑一直存在过热的各种问题。我将其安装在新的Skylake笔记本电脑上,并且风扇从未运行,除非将Ubuntu 16.04 LTS升级到18.04。

您可以在此处获得非常详细的安装说明文字:防止CPU过热


2
这是什么单位 苹果?1/1000°C吗?°F的59/29402?
布劳伦

@Blauhirn Linux报告温度为“ 69000”,为69.000摄氏度。在我所有的测试它一直是“000”的暗示小数点后,所以我不知道为什么Linux的格式化这种方式耸耸肩。感谢您的评论,尽管它使我可以将conky显示器更新为当前版本。
WinEunuuchs2Unix

您的报价说是48000,但您的文字说这是摄氏57度?我糊涂了。
太阳

@Sun我已经使用较新的处理器重新生成了单行代码,并且没有正确修改说明。固定!
WinEunuuchs2Unix

1
@ncoghlan谢谢。.5偶尔会出现,您的sed修订版本会很好地处理该问题。
WinEunuuchs2Unix

37

hardinfo 安装hardinfo是获取所有硬件信息的非常有用的工具。

通过安装硬信息sudo apt-get install hardinfo。然后,您可以通过传感器获取温度。

传感器


22
好看的工具,除了每一个单页填充除了传感器(例如为空)...
frumbert

15
对传感器
不起作用

@frumbert我认为这取决于lm-sensors
潘迪

我也喜欢ARP表。验证连接到我的子网的内容非常方便。
SDsolar '17

基准在该程序中已经过时了。
Andriy Makukha,

32
  1. 通过此命令安装acpi 的小软件包安装acpi

    sudo apt-get install acpi
    
  2. 您将需要首次按Y进行确认。现在查找温度,键入以下命令

    acpi -t
    

23
这比关于的答案要简单lm-sensors。你能解释一下之间的区别acpilm-sensors
fikr4n 2014年

1
在Ubuntu 16.04上,Skylake Laptop不acpi -t输出任何内容。这是一个有效的选项,只是不起作用-版本:acpi 1.7
WinEunuuchs2Unix

acpi -tgrml live CD系统上成功使用了监视Core i3处理器每个芯片的温度。lm-sensors未预安装在grml上,我无法在此安装其他软件包。grml.org
丹尼尔BÖHMER

20

XSensors

XSensors从libsensors库中读取有关硬件运行状况(例如温度,电压和风扇速度)的数据,并以数字读数形式显示信息。

打开终端并输入:

sudo apt-get install xsensors lm-sensors

然后通过打开终端并运行以下命令来检测计算机的硬件传感器:

sudo sensors-detect

然后,您将被问到很多有关程序要检测哪种硬件的问题。通常是安全的,建议您接受所有问题的默认答案,除非您知道自己在做什么。

XSensors屏幕截图

Xsensors与Psensor

XSensors和Psensor都监视计算机的温度和风扇速度。两种应用程序之间的区别在于所显示信息的详细程度以及如何显示信息。

XSensors显示的特定信息比Psensor多一些。Psensor比XSensors体积更小,更引人注目,它在桌面上以时钟温度计旁边的通知区域中的温度计图标的形式显示在桌面上。您可以随时右键单击温度计图标以显示硬件温度。

通过安装lm-sensors以检测计算机的硬件传感器,可以与Xsensors相同的方式来设置Psensor以检测计算机的硬件。然后检测运行命令的计算机的硬件传感器:

sudo sensors-detect  

与Xsensors一样,接受所有问题的默认答案。

在Ubuntu 16.04和更高版本中,Psensor无需运行即可自动检测计算机的硬件传感器 sudo sensors-detect


2
Psensor似乎是更先进
塞尔

1
我同意,@ Serge。psensor是我要使用的那个。
SDsolar '17

我也使用Psensor。
karel

17

安装lm-sensors之后:

sudo apt-get install lm-sensors

跑:

sudo sensors-detect

您可以运行以下命令来查看硬件温度:

watch -n 1 sensors

另外,风扇通常由BIOS控制。


12
我喜欢使用手表的技巧,这是我的最爱之一。我还建议添加-d选项以突出显示差异。
约书亚K

这给了我4个核心温度读数我在Ubuntu LTS 16.0.4运行i7-3770 CPU占用100%(〜77摄氏度)
太阳

12

在Raspberry Pi上,您可以使用以下方法检索温度vcgencmd

vcgencmd measure_temp

输出:

temp=39.0'C

2
不,那会给你频率。使用vcgencmd measure_temp
MrD

抱歉,一个非常痛苦的复制和粘贴错误:)
Ercksen

9

就像你们知道的那样sensors,不需要像这样的安装垃圾。只要做一个acpi -V,BOOM,您就拥有了一切。例:

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 2014年

8
而且,它也不总是提供相同的信息。不幸的是,在我的机器上sensors提供温度,而acpi -V没有显示任何温度。
Per Lundberg

1
acpi -VSkylake笔记本电脑,Ubuntu 16.04,acpi版本1.7损坏了
WinEunuuchs2Unix

5
/sys/class/thermal/thermal_zone0/temp

该文件保存CPU温度。因此,您可以将脚本命名为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。您知道为什么会这样吗?它们不能都具有相同的CPU温度。
卡图

@Katu我认为这可能意味着27.8度。我用另一个程序,发现我的核心0是49℃,然后我做了上面的命令,并获得49000
菲利普Kirkbride

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
我在Python 2上使用1.2.1,并且升级失败(但是14.04上的Python 2确实过时了,所以我不担心)。我刚刚在Python 3上安装了5.4.3 sudo pip3 install psutil --upgrade。您可以将其添加到答案中吗?
wjandrea

在该图上,x轴是CPU使用率,对吗?
wjandrea

1
很好的答案(+1)-psutil是一颗宝石。不好意思,它没有涵盖硬盘的温度
WoJ

2

computertemp 安装computertemp是一个简单的小程序,可显示您当前的CPU温度,并且具有一些其他功能,例如警报。不幸的是,不可能(或者至少我不知道如何)更改其背景颜色,因此对于标准的Ubuntu主题来说,它看起来不太好。

可以按照evgeny的答案中描述的传感器小程序相同的方式进行安装。


替代文字

在较新的Ubuntu存储库中,computertemp不可用。


2
在Ubuntu 15.04中sudo apt-get install computertemp导致错误“无法找到软件包computertemp” ...
Nicolas Ivanov

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}'
muru

是的,很有可能,我刚刚发布了我正在使用的
那个

1

如果将Ubuntu与MATE Desktop Environment结合使用,则可以使用MATE Sensors Applet:

  1. 安装软件包:

    sudo apt-get install mate-sensors-applet
    

    如果您有Nvidia显卡,也可以安装mate-sensors-applet-nvidia软件包。

  2. 右键单击MATE Panel,然后单击Add to Panel,然后选择Hardware Sensors Monitor

    硬件传感器监控器

  3. 添加后,您可以通过右键单击任何传感器并选择“首选项”来进行设置

    首选项硬件传感器监控器

    您可以在此处自定义传感器列表:CPU,主板和GPU温度,主电压(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 CPUi7z

i7z-适用于Linux的更好的i7(现在为i3,i5)报告工具。

安装它:

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.