如何获得CPU温度?

评论

相关:硬件传感器,指示器和风扇控制。

#1 楼

安装lm传感器

sudo apt-get install lm-sensors 


安装后在端子中键入以下内容

sudo sensors-detect


您可能还需要运行

sudo service kmod start


它会问你几个问题。对所有答案都是。最后在终端中输入您的CPU温度类型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

sudo apt-get install hddtemp


输出:

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


评论


这并不适用于所有硬件。在我的系统上,传感器始终显示+ 40.0°C的温度。

–基思·汤普森(Keith Thompson)
2012年9月6日18:53

在我的13.04系统上,它是sudo服务kmod start而不是sudo服务module-init-tools start

–knb
13年7月10日在6:51

您可以运行监视传感器以查看每秒更新的温度值。

–德鲁·诺克斯(Drew Noakes)
13年8月3日在21:09

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

– stommestack
2013年9月28日上午10:50

对所有传感器检测问题回答“是”,请运行“是”。传感器检测

– hanshenrik
18年5月5日在21:59

#2 楼

快速的命令行解决方案;显示以摄氏度(m°C)为单位的温度

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


Applet

如果您正在寻找易于使用的版本,请添加将硬件传感器监控器安装到Gnome-Panel:



sudo apt-get install sensors-applet-这将安装传感器小程序软件包
右键单击面板,选择Add to panel...,然后选择此:


您已完成。您可以通过右键单击小程序并选择Preferences->Sensors来配置显示哪些传感器。





评论


您的命令行解决方案可能不适用于所有人,因为每个内核版本的路径都不同。

–karthick87
2010-12-02 10:02

是的,它对我不起作用。

– 8128
2012年6月1日下午14:17

我的Ubuntu 12.04系统没有/ proc / acpi / thermal_zone / THRM / temperature;实际上,在/ proc下没有任何名称为temperature的东西。

–基思·汤普森(Keith Thompson)
2012年9月6日18:56

那是因为不推荐使用“ / proc”;尝试'/ sys / class / thermal / thermal_zone0 / temp'

–数学
13年7月15日在19:03

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

– dylnmc
16-2-24在12:33

#3 楼

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年7月11日在5:13

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

–dirkjot
17年11月24日在19:17

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

–raaj
17年12月15日在12:06

问题仍然存在。应用无法使用。

– Eugene
18-2-25在15:31

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

–减少活动
18年6月21日在11:57

#4 楼

没有第三方应用程序时的温度

在撰写本文时,所有答案都涉及使用第三方实用程序。如果要查找温度而不安装任何东西,请使用:

$ 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/\(.\)..$/.°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命令

在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电源)等配合使用。尽管高度可配置,但我从未为方便的开箱即用体验而更改配置设置。在使用它之前,IvyBridge笔记本电脑一直存在过热的各种问题。我将其安装在新的Skylake笔记本电脑上,并且风扇从未运行,除非将Ubuntu 16.04 LTS升级到18.04。

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

评论


这是什么单位苹果? 1/1000°C的温度? °F的59/29402?

– phil294
17年9月3日在22:53

@Blauhirn Linux报告温度为“ 69000”,为69.000摄氏度。在我所有的测试中,隐含的小数点后总是“ 000”,因此我不确定Linux为什么以这种方式格式化它。感谢您的评论,尽管它允许我用当前版本更新conky显示器。

–WinEunuuchs2Unix
17 Sep 4'在0:14



您的报价说是48000,但您的文字说这是摄氏57度?我很困惑。

–太阳
18年6月13日在7:32

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

–WinEunuuchs2Unix
18年6月13日在10:35

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

–WinEunuuchs2Unix
18-10-15在10:42

#5 楼

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

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



评论


美观的工具,除了传感器以外的每个页面都填充(例如空白)...

– frumbert
15年3月29日在13:07

不适用于传感器

–穆迪特卡皮尔
2015年4月14日17:00



@frumbert我认为这取决于流明传感器!

–潘迪亚
16年8月21日在11:49



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

– SDsolar
17年7月11日在8:51

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

– Andriy Makukha
18 Mar 6 '18 at 15:04

#6 楼


通过此命令安装acpi 的小包装

sudo apt-get install acpi



您需要先按Y进行确认时间。
现在要查找温度,键入以下命令

acpi -t




评论


这比关于lm传感器的答案要简单。您能解释一下acpi和lm传感器之间的区别吗?

– fikr4n
2014年1月23日在23:24

在Ubuntu 16.04(Skylake Laptop)上,acpi -t不输出任何内容。这是一个有效的选项,只是行不通-版本:acpi 1.7。

–WinEunuuchs2Unix
18年5月25日在22:50



我成功地在grml live CD系统上使用了acpi -t来监视Core i3处理器的每个芯片的温度。 lm-sensors未预先安装在grml上,我无法在该处安装其他软件包。 grml.org

–丹尼尔·博默(DanielBöhmer)
19年4月8日在21:35



acpi失败,不支持设备类型:power_supply对我来说。

–陆even
12月14日20:00

#7 楼

安装lm-sensors后:

sudo apt-get install lm-sensors


运行:

sudo sensors-detect


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

watch -n 1 sensors


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

评论


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

–约书亚K
2015年12月25日在20:05

这给了我在运行100%CPU(〜77摄氏度)的Ubuntu 16.0.4 LTS上的i7-3770上的4个核心临时读取信息

–太阳
18年6月13日在7:35

#8 楼

XSensors
XSensors从libsensors库中读取有关硬件健康状况(例如温度,电压和风扇速度)的数据,并以数字读数形式显示信息。
打开终端并输入:
sudo apt-get install xsensors lm-sensors

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

然后,您将被问到很多有关程序要检测哪种硬件的问题。通常,安全起见,建议您接受所有问题的默认答案,除非您知道自己在做什么。
Q4312010q
Xsensors与Psensor
XSensors和Psensor都可以监控计算机的温度并风扇速度。两种应用程序之间的区别在于所显示信息的详细程度以及如何显示信息。
XSensors显示的特定信息比Psensor多一点。 Psensor比XSensors体积更小,更不引人注目,它在桌面上显示为桌面右上角通知区域中的温度计图标。您可以随时右键单击温度计图标以显示硬件温度。
通过安装lm-sensors以检测计算机的硬件传感器,可以像设置Xsensors一样来设置Psensor以检测计算机的硬件。然后使用以下命令检测计算机的硬件传感器:
sudo sensors-detect  

,与Xsensors一样,接受所有问题的默认答案。
在Ubuntu 16.04及更高版本中,Psensor无需运行即可自动检测计算机的硬件传感器sudo sensors-detect

评论


Psensor似乎更先进

– MainActivity
17年1月13日在17:03

我同意,@ Serge。 psensor是我要使用的那个。

– SDsolar
17年7月11日在8:48

我也使用Psensor。

–卡雷尔
17年7月11日在8:50

#9 楼

在Raspberry Pi上,您可以使用vcgencmd来检索温度:

vcgencmd measure_temp


输出:

temp=39.0'C


评论


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

– MrD
16/12/19在13:44

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

– Ercken
18年4月25日在17:43

除了Raspbian之外,还有其他方法可以将其安装在其他发行版上吗?例如,Ubuntu Server 19.10可用于Raspberry Pi,但我不知道如何使此命令可用。

– jocull
1月12日23:45

#10 楼

大家知道,不需要像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。

评论


是的...因为您不必安装那个?错误!当前未安装程序“ acpi”。您可以通过键入以下内容进行安装:sudo apt-get install acpi

– e-sushi
2014年10月1日20:32

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

– Per Lundberg
15年10月16日在21:36

适用于Skylake笔记本电脑,Ubuntu 16.04,Acpi 1.7版的acpi -V已损坏

–WinEunuuchs2Unix
18年5月25日在22:54

#11 楼

全部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/\(.\)..$/.°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


评论


这实际上是一个很好的脚本。

– Philippe Delteil
19年4月5日在14:56

#12 楼

如果您喜欢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)]

...可以完成工作。只需编写一些代码,就可以例如获取系统的温度对CPU的影响。

通过发出psutil来更新sudo pip3 install psutil --upgrade很方便。

评论


我在Python 2上有它,但是它没有sensor_temperatures属性,在Python 3上也没有。我正在使用Ubuntu 14.04。那我怎么得到呢?

– wjandrea
18-2-16在0:16



您正在使用哪个版本的psutil?我的是5.4.3。尝试升级您的版本:sudo pip2 install psutil --upgrade。

–卢卡斯·艾玛瑞托(Lucas Aimaretto)
18年2月16日在0:22

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

– wjandrea
18年2月16日在0:27

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

– WoJ
19年7月26日在15:04

唯一有效的答案。 (Ubuntu 20.04)几乎是不需要安装任何东西的唯一工具。

–ÍhorMé
10月7日18:39



#13 楼

/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温度。

–卡图
17 Mar 10 '17 at 14:08

@Katu我认为这可能意味着27.8度。我使用了另一个程序,发现我的Core 0是49C。然后我执行了上面的命令,得到了49000。

– Philip Kirkbride
17年4月20日在18:06

#14 楼

这是我在这件事上的2美分。 tmon是一个非常简单的工具,可以在运行另一个过程时读取温度,就像timewatchtimeout等...
tmon/sys/class/thermal/thermal_zone*/temp的薄包装纸,在监视您的温度时非常有用Linux计算机/服务器,同时运行CPU密集型进程:模拟,游戏等...

您可以从此处下载.AppImage“ binary”:https://github.com/gmagno/tmon/释放并立即方便地运行它,即:

安装

wget https://github.com/gmagno/tmon/releases/download/v0.3.7/tmon-a461481-x86_64.AppImage
chmod +x tmon*.AppImage
# optional: you may put it somewhere convenient in your file system and add a symlink in /usr/local/bin/tmon


,或者如果您愿意:

pip install tmonpy


用法

./tmon*.AppImage -h


示例

./tmon*.AppImage echo "Quick programs return a single value of temperature"
Quick programs return a single value of temperature


===================
Temp Monitor Report:

   Temp (°C) for a period of 0:00:00
   >> 58.0 °C <<

   /tmp/tmon-20200207@16h07m05-znn0x1o9.txt
===================


./tmon*.AppImage bash -c 'echo not so quick ones will show a chart; sleep 6'
not so quick ones will show a chart


===================
Temp Monitor Report:

   Temp (°C) for a period of 0:00:06
   60.00  ┤
   59.86  ┤
   59.71  ┤
   59.57  ┤
   59.43  ┤
   59.29  ┤
   59.14  ┤
   59.00  ┼╮   ╭─
   58.86  ┤│   │
   58.71  ┤│   │
   58.57  ┤│   │
   58.43  ┤│   │
   58.29  ┤│   │
   58.14  ┤│   │
   58.00  ┤╰───╯

   >> min: 58.0 °C <<
   >> avg: 58.4 °C <<
   >> max: 59.0 °C <<

   /tmp/tmon-20200207@16h08m25-p010ojhq.txt
===================


您也可以不带任何参数地运行tmon,它将按预期运行。按Ctrl-C终止该过程并获取温度报告

./tmon*.AppImage  # and wait a few seconds before pressing Ctrl-C
^C

===================
Temp Monitor Report:

   Temp (°C) for a period of 0:00:08
   60.00  ┤
   59.71  ┤
   59.43  ┤
   59.14  ┤
   58.86  ┤  ╭╮
   58.57  ┤  ││
   58.29  ┤  ││
   58.00  ┼╮╭╯│
   57.71  ┤││ │
   57.43  ┤││ │
   57.14  ┤││ │
   56.86  ┤╰╯ │
   56.57  ┤   │
   56.29  ┤   │
   56.00  ┤   ╰────

   >> min: 56.0 °C <<
   >> avg: 56.9 °C <<
   >> max: 59.0 °C <<

   /tmp/tmon-20200207@15h59m37-u4cd94qh.txt
===================


#15 楼

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

可以用相同的方式安装作为evgeny答案中描述的传感器小程序。





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

评论


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

–尼古拉斯·伊万诺夫(Nicolas Ivanov)
2015年6月22日14:32



#16 楼

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



安装软件包:

sudo apt-get install mate-sensors-applet


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


右键单击MATE面板,然后单击“添加到面板”,然后选择“硬件传感器监视器”




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



您可以在此处自定义传感器列表:CPU,主板和GPU温度,主电压(Vcore,3.3V,5V,12V等)和风扇速度。完整列表取决于硬件(上面的图像适用于装有Nvidia显卡的台式机)。


结果将类似于




您当然可以将此小程序移至最佳位置。

#17 楼

您可能会在很多地方找到以毫度为单位列出的温度。我终于在这里找到了我的地雷:

/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


其中一些只是与其他对象的符号链接。您可能需要仔细看才能找到它

评论


它位于我的Dell Precision M4800上的/sys/devices/platform/coretemp.0/hwmon/hwmon*/temp*_input

–igagis
6月26日11:27

#18 楼

仅适用于Intel CPU您可以使用i7z。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


#19 楼

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

printf'%d \ n'会将值转换为整数,以防万一您需要它作为一个整数

来源:Linuxhacks.org
披露:我是所有者的Linuxhacks.org

评论


为什么要回显$(printf ..)而不是仅回显printf'%d°\ n'$(sensors | grep'id 0:'| awk'{print $ 4}')2> / dev / null? ...甚至只是传感器2> / dev / null | awk'/ id 0:/ {printf“%d°\ n”,$ 4}'

–muru
18年4月8日在1:08



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

–intika
18年4月8日在2:28