在Ubuntu/Thinkpad上设置CPU温度限制阈值

我每小时收到几次以下错误信息:
08.03.18 21:27  kernel  CPU0: Core temperature above threshold, cpu clock throttled (total events = 2234)
08.03.18 21:27  kernel  CPU2: Core temperature above threshold, cpu clock throttled (total events = 2234)
08.03.18 21:27  kernel  CPU1: Package temperature above threshold, cpu clock throttled (total events = 2695)
08.03.18 21:27  kernel  CPU3: Package temperature above threshold, cpu clock throttled (total events = 2695)
08.03.18 21:27  kernel  CPU2: Package temperature above threshold, cpu clock throttled (total events = 2695)
08.03.18 21:27  kernel  CPU0: Package temperature above threshold, cpu clock throttled (total events = 2695)
08.03.18 21:27  kernel  CPU2: Core temperature/speed normal
08.03.18 21:27  kernel  CPU0: Core temperature/speed normal
08.03.18 21:27  kernel  CPU3: Package temperature/speed normal
08.03.18 21:27  kernel  CPU1: Package temperature/speed normal
08.03.18 21:27  kernel  CPU0: Package temperature/speed normal
08.03.18 21:27  kernel  CPU2: Package temperature/speed normal

硬件规格:
ThinkPad X1 Yoga 2nd
N1NET33W (1.20 )
Intel(R) Core(TM) i7-7600U CPU @ 2.80GHz
Production date 2017.11

软件:

Distributor ID: Ubuntu
Description:    Ubuntu 17.10
Release:        17.10
Codename:       artful
Linux 4.13.0-36-generic #40-Ubuntu SMP Fri Feb 16 20:07:48 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

个人简介:

我在BIOS设置中将电池和交流电都调至性能模式,并且BIOS已经更新到最新版本。

问题是什么

问题是CPU温度达到了一个相当早的阈值,大约在75°C左右,即使CPU允许达到100°C。温度从未超过85°C。因此,CPU的功率被迅速降频。

我不知道是否存在制造商硬件问题,比如散热膏不足,或者这是与软件相关的问题。在将其送给联想之前,我希望确保这不是一个自己制造的问题。

统计数据

当我运行压力测试时

stress -c 4 -t 300

错误信息几乎立即发生。
i7z给出以下输出:
Cpu speed from cpuinfo 2903.00Mhz
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc
Linux's inbuilt cpu_khz code emulated now
True Frequency (without accounting Turbo) 2903 MHz
  CPU Multiplier 29x || Bus clock frequency (BCLK) 100.10 MHz

Socket [0] - [physical cores=2, logical cores=4, max online cores ever=2]
  TURBO ENABLED on 2 Cores, Hyper Threading ON
  Max Frequency without considering Turbo 3003.10 MHz (100.10 x [30])
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is  39x/39x/39x/39x
  Real Current Frequency 3187.97 MHz [100.10 x 31.85] (Max of below)
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %  Temp      VCore
        Core 1 [0]:       3187.97 (31.85x)      99.9       0       0       0    85      1.0037
        Core 2 [1]:       3187.97 (31.85x)      99.9       0       0       0    84      1.0037           


C0 = Processor running without halting
C1 = Processor running with halts (States >C0 are power saver modes with cores idling)
C3 = Cores running with PLL turned off and core cache turned off
C6, C7 = Everything in C3 + core state saved to last level cache, C7 is deeper than C6
  Above values in table are in percentage over the last 1 sec
[core-id] refers to core-id number in /proc/cpuinfo
'Garbage Values' message printed when garbage values are read
  Ctrl+C to exit

正如所说,它从未超过85度的温度,但是CPU却被限制了。 显示以下输出
iwlwifi-virtual-0
Adapter: Virtual device
temp1:        +30.0°C  

pch_skylake-virtual-0
Adapter: Virtual device
temp1:        +52.0°C  

acpitz-virtual-0
Adapter: Virtual device
temp1:        +56.0°C  (crit = +98.0°C)

thinkpad-isa-0000
Adapter: ISA adapter
fan1:        5859 RPM

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +59.0°C  (high = +100.0°C, crit = +100.0°C)
Core 0:        +59.0°C  (high = +100.0°C, crit = +100.0°C)
Core 1:        +58.0°C  (high = +100.0°C, crit = +100.0°C)

但是高设置可能没有任何效果。
热管理软件(thermald)。
所以我对热管理软件进行了一番调整。
这是我在这里找到的调整配置:
<?xml version="1.0" encoding="UTF-8"?>
<ThermalConfiguration>
   <Platform>
      <Name>Use Fan control first then CPU throttle</Name>
      <ProductName>*</ProductName>
      <Preference>QUIET</Preference>
      <ThermalZones>
         <ThermalZone>
            <Type>x86_pkg_temp</Type>
            <TripPoints>
               <TripPoint>
                  <SensorType>x86_pkg_temp</SensorType>
                  <Temperature>90000</Temperature>
                  <type>passive</type>
                  <ControlType>SEQUENTIAL</ControlType>
                  <CoolingDevice>
                     <type>_fan_</type>
                  </CoolingDevice>
               </TripPoint>
            </TripPoints>
         </ThermalZone>
      </ThermalZones>
      <CoolingDevices>
         <CoolingDevice>
            <Type>_fan_</Type>
            <Path>/sys/bus/platform/devices/thinkpad_hwmon/pwm1</Path>
            <MinState>100</MinState>
            <MaxState>255</MaxState>
            <IncDecStep>50</IncDecStep>
            <DebouncePeriod>10</DebouncePeriod>
         </CoolingDevice>
      </CoolingDevices>
   </Platform>
</ThermalConfiguration>

这没有真正的区别,但至少我可以看到阈值设置(最后几行):
╰─ sudo thermald --no-daemon --loglevel=info

NO RAPL sysfs present 
22 CPUID levels; family:model:stepping 0x6:8e:9 (6:142:9)
Running on a vanilla kernel
Polling mode is enabled: 4
sensor_update: type x86_pkg_temp
sensor_update: type pch_skylake
sensor_update: type iwlwifi
sensor_update: type acpitz
thd_read_default_thermal_sensors loaded 4 sensors 
dts /sys/devices/platform/coretemp.0/name doesn't exist
dts /sys/class/hwmon/hwmon3/name doesn't exist
failed to open /dev/acpi_thermal_rel 
failed to open /dev/acpi_thermal_rel 
TRT/ART read failed
 Dumping parsed XML Data
 *** Index 0 ***
Name: UseFancontrolfirstthenCPUthrottle
UUID: 
type: 0
        Zone 0 
         Name: x86_pkg_temp
                 Trip Point 0 
                  temp 90000 
                  trip type 2 
                  hyst id 0 
                  sensor type x86_pkg_temp 
                  cdev index 0 
                          type _fan_ 
                          influence 0 
                          SamplingPeriod 0 
        Cooling Dev 0 
                Type: _fan_
                Path: /sys/bus/platform/devices/thinkpad_hwmon/pwm1
                Min: 100
                Max: 255
                Step: 50
                AutoDownControl: 0
Product Name matched [wildcard]
sensor index:3 x86_pkg_temp /sys/class/thermal/thermal_zone3/ Async:1 
sensor index:1 pch_skylake /sys/class/thermal/thermal_zone1/ Async:0 
sensor index:2 iwlwifi /sys/class/thermal/thermal_zone2/ Async:0 
sensor index:0 acpitz /sys/class/thermal/thermal_zone0/ Async:0 
sensor index:4 hwmon /sys/class/hwmon/hwmon1/temp1_input Async:0 
sensor index:5 hwmon /sys/class/hwmon/hwmon1/temp2_input Async:0 
sensor index:6 hwmon /sys/class/hwmon/hwmon1/temp3_input Async:0 
thd_read_default_cooling devices loaded 4 cdevs 
powercap RAPL no long term time window
Use Default pstate drv settings
Product Name matched [wildcard]
3: Processor, C:0 MN: 0 MX:10 ST:1 pt:/sys/class/thermal/ rd_bk 0 
1: Processor, C:0 MN: 0 MX:10 ST:1 pt:/sys/class/thermal/ rd_bk 0 
2: Processor, C:0 MN: 0 MX:10 ST:1 pt:/sys/class/thermal/ rd_bk 0 
0: Processor, C:0 MN: 0 MX:10 ST:1 pt:/sys/class/thermal/ rd_bk 0 
4: intel_pstate, C:0 MN: 0 MX:10 ST:1 pt:/sys/devices/system/cpu/intel_pstate/ rd_bk 1 
5: _fan_, C:255 MN: 100 MX:255 ST:50 pt:/sys/bus/platform/devices/thinkpad_hwmon/pwm1 rd_bk 1 
6: LCD, C:0 MN: 0 MX:1060 ST:106 pt:/sys/class/backlight/intel_backlight/ rd_bk 1 
Sorted trip dump zone index:1 type:pch_skylake:
index 0: type:critical temp:115000 hyst:1 zone id:1 sensor id:1 cdev size:0
trip type: 0 temp: 115000 
Sorted trip dump zone index:0 type:acpitz:
index 0: type:critical temp:98000 hyst:1 zone id:0 sensor id:0 cdev size:0
trip type: 0 temp: 98000 
thd_read_default_thermal_zones loaded 2 zones 
zone cpu will be created 
dts zone /sys/devices/platform/coretemp.0/name doesn't exist
/sys/class/hwmon/hwmon4/name->iwlwifi
/sys/class/hwmon/hwmon2/name->pch_skylake
/sys/class/hwmon/hwmon0/name->acpitz
dts zone /sys/class/hwmon/hwmon3/name doesn't exist
/sys/class/hwmon/hwmon1/name->coretemp
Buggy max temp: to close to critical 90000
Core temp DTS :critical 100000, max 90000, psv 95000
node type: Element, name: CoolingDevice value: rapl_controller
node type: Element, name: CoolingDevice value: intel_pstate
node type: Element, name: CoolingDevice value: intel_powerclamp
node type: Element, name: CoolingDevice value: cpufreq
node type: Element, name: CoolingDevice value: Processor
CDEVS order specified in thermal-cpu-cdev-order.xml
Sorted trip dump zone index:4 type:cpu:
index 0: type:passive temp:95000 hyst:0 zone id:4 sensor id:65535 cdev size:2
cdev[0] intel_pstate
cdev[1] Processor
trip type: 2 temp: 95000 
Product Name matched [wildcard]
zone x86_pkg_temp bounded 
Sorted trip dump zone index:5 type:x86_pkg_temp:
index 0: type:passive temp:90000 hyst:0 zone id:5 sensor id:3 cdev size:1
cdev[0] _fan_
trip type: 2 temp: 90000 
Zone 1: pch_skylake, Active:0 Bind:0 Sensor_cnt:1
..sensors.. 
sensor index:1 pch_skylake /sys/class/thermal/thermal_zone1/ Async:0 
..trips.. 
index 0: type:critical temp:115000 hyst:1 zone id:1 sensor id:1 cdev size:0
Zone 0: acpitz, Active:0 Bind:0 Sensor_cnt:1
..sensors.. 
sensor index:0 acpitz /sys/class/thermal/thermal_zone0/ Async:0 
..trips.. 
index 0: type:critical temp:98000 hyst:1 zone id:0 sensor id:0 cdev size:0
Zone 4: cpu, Active:1 Bind:0 Sensor_cnt:1
..sensors.. 
sensor index:3 x86_pkg_temp /sys/class/thermal/thermal_zone3/ Async:1 
..trips.. 
index 0: type:passive temp:95000 hyst:0 zone id:4 sensor id:65535 cdev size:2
cdev[0] intel_pstate
cdev[1] Processor
index 1: type:polling temp:90000 hyst:0 zone id:4 sensor id:3 cdev size:0
Zone 5: x86_pkg_temp, Active:1 Bind:1 Sensor_cnt:1
..sensors.. 
sensor index:3 x86_pkg_temp /sys/class/thermal/thermal_zone3/ Async:1 
..trips.. 
index 0: type:passive temp:90000 hyst:0 zone id:5 sensor id:3 cdev size:1
cdev[0] _fan_
index 1: type:polling temp:85000 hyst:0 zone id:5 sensor id:3 cdev size:0
FD = 7
Current user preference is 0
thd_engine_thread begin
Set : threshold:90000, temperature:53000, cdev:5(_fan_), curr_state:205, max_state:255
Set : threshold:90000, temperature:57000, cdev:5(_fan_), curr_state:155, max_state:255
Set : threshold:90000, temperature:85000, cdev:5(_fan_), curr_state:105, max_state:255
Set : threshold:90000, temperature:85000, cdev:5(_fan_), curr_state:100, max_state:255

最后的想法/问题

  • 是否可以设置CPU温度阈值?
  • 是否需要设置,还是与BIOS/硬件有关?
  • 我的硬件(导热膏)可能有问题吗?
  • 或者我可能完全分析错了什么?

更新 #1

在深入研究这个主题并阅读了关于Intel CPU降频的几篇文章以及其他操作系统和内核遇到类似(或稍微不同)问题的帖子之后,我得出结论,我的笔记本电脑可能并没有像我想象的那样表现异常。

虽然内核消息仍然很奇怪,但原因可能是错误的内核printk级别或其他什么。当我的CPU包温度约为+52.0°C,CPU频率只有1200MHz时,我也会收到这些消息。 这根本没有任何意义。

当我用压力测试测试我的笔记本电脑时,我可以看到错误消息,但实际上CPU并没有被限制。

如果我只测试一个核心,我可以获得最大的3,900 MHz的Turbo Boost速度。

测试所有4个核心会将最大频率降至约3,300 MHz。

这是预期的行为

所以我会把这个问题放在一边 - 除非这里有人能够提供更多的内部信息。

更新#2

系统更新后没有变化:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04 LTS
Release:        18.04
Codename:       bionic
Linux4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

更新 #3

系统更新后没有任何变化:

Distributor ID: Ubuntu
Description:    Ubuntu 18.10
Release:        18.10
Codename:       cosmic
Linux x1 4.18.0-13-generic #14-Ubuntu SMP Wed Dec 5 09:04:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

所以我最后的假设是日志很有可能是伪造的,或者日志级别配置错误。因为我的笔记本电脑工作正常,也没有被限速,也没有过热。
不过,如果有人有什么想法可以解决这个问题,请随意回答 :-)
更新 #4
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 19.04
Release:        19.04
Codename:       disco

Linux cw-x1 5.0.0-13-generic #14-Ubuntu SMP Mon Apr 15 14:59:14 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

我仍然收到阈值限制的消息。
更新 #5
在全新的19.10安装中得到相同的结果。
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 19.10
Release:        19.10
Codename:       eoan

我刚刚发现一篇帖子,说这个问题甚至在全新的X1 Extreme 2nd Gen上也没有解决。
为了那些考虑购买我所拥有的笔记本电脑的人,以下是我面临的一些问题:
- 触摸屏无法正常工作 - 指纹识别不起作用 - 休眠只有偶尔成功 - 切换不同的工作环境(办公室和家庭办公室)通常由于图形问题而无法正常工作 - 多显示器普遍存在许多问题 - 即使有大量可用的内存,硬盘交换仍然发生 - kscreen和xrandr存在各种一般性问题
所以,我想我现在会放弃,转向惠普或戴尔。对于一台价值约2500欧元的笔记本电脑,我真的不想遇到这些问题 :-(
更新 #6
有趣的事实:昨天我刚收到了搭载英特尔酷睿i9-9980HK的戴尔Precision 5540..猜猜发生了什么..
11.12.19 22:11  kernel  mce: CPU9: Package temperature above threshold, cpu clock throttled (total events = 412597)
11.12.19 22:11  kernel  mce: CPU5: Package temperature above threshold, cpu clock throttled (total events = 412165)
11.12.19 22:11  kernel  mce: CPU13: Package temperature above threshold, cpu clock throttled (total events = 412647)
11.12.19 22:11  kernel  mce: CPU1: Package temperature above threshold, cpu clock throttled (total events = 412648)
11.12.19 22:11  kernel  mce: CPU15: Package temperature above threshold, cpu clock throttled (total events = 412378)
11.12.19 22:11  kernel  mce: CPU7: Package temperature above threshold, cpu clock throttled (total events = 412669)
11.12.19 22:11  kernel  mce: CPU0: Package temperature above threshold, cpu clock throttled (total events = 412669)
11.12.19 22:11  kernel  mce: CPU8: Package temperature above threshold, cpu clock throttled (total events = 412625)
11.12.19 22:11  kernel  mce: CPU11: Package temperature above threshold, cpu clock throttled (total events = 412668)
11.12.19 22:11  kernel  mce: CPU4: Package temperature above threshold, cpu clock throttled (total events = 412102)
11.12.19 22:11  kernel  mce: CPU2: Package temperature above threshold, cpu clock throttled (total events = 412669)
11.12.19 22:11  kernel  mce: CPU6: Package temperature above threshold, cpu clock throttled (total events = 412669)
11.12.19 22:11  kernel  mce: CPU3: Package temperature above threshold, cpu clock throttled (total events = 412208)
11.12.19 22:11  kernel  mce: CPU14: Package temperature above threshold, cpu clock throttled (total events = 412661)
11.12.19 22:11  kernel  mce: CPU12: Package temperature above threshold, cpu clock throttled (total events = 411001)
11.12.19 22:11  kernel  mce: CPU10: Package temperature above threshold, cpu clock throttled (total events = 412663)
11.12.19 22:11  kernel  mce: CPU9: Package temperature/speed normal
11.12.19 22:11  kernel  mce: CPU5: Package temperature/speed normal
11.12.19 22:11  kernel  mce: CPU2: Package temperature/speed normal
11.12.19 22:11  kernel  mce: CPU15: Package temperature/speed normal
11.12.19 22:11  kernel  mce: CPU1: Package temperature/speed normal
11.12.19 22:11  kernel  mce: CPU10: Package temperature/speed normal
11.12.19 22:11  kernel  mce: CPU7: Package temperature/speed normal
11.12.19 22:11  kernel  mce: CPU13: Package temperature/speed normal
11.12.19 22:11  kernel  mce: CPU8: Package temperature/speed normal
11.12.19 22:11  kernel  mce: CPU11: Package temperature/speed normal
11.12.19 22:11  kernel  mce: CPU0: Package temperature/speed normal
11.12.19 22:11  kernel  mce: CPU4: Package temperature/speed normal
11.12.19 22:11  kernel  mce: CPU3: Package temperature/speed normal
11.12.19 22:11  kernel  mce: CPU12: Package temperature/speed normal
11.12.19 22:11  kernel  mce: CPU14: Package temperature/speed normal
11.12.19 22:11  kernel  mce: CPU6: Package temperature/speed normal


我现在既无言以对又懒散无精。我猜我以后就不再查看我的日志了 :-( 案件结束。

虽然我已经试过了提到的工具,但这篇文章仍然是一篇很好的帖子,对热力学主题提供了一个很好的概述!你提到了Powerclamp的阈值为85摄氏度。你能弄清楚这个值是否可调吗? - Christopher Will
我认为可以通过 tlp 配置文件进行调整,但我从未更改过。安装了 tlp 后,我的过热问题都解决了。 - WinEunuuchs2Unix
很遗憾,这些文档中没有提到与温度相关的任何内容。您可以在此链接找到有关TLP配置的更多信息:http://linrunner.de/en/tlp/docs/tlp-configuration.html。 - Christopher Will
不幸的是,如今的ThinkPad与几年前完全不同。它们似乎被设计成在几年后就会磨损 - 我有一些仍在使用的ThinkPad,所有的T6x都处于完美状态,而大多数使用了2-3年的T4xxs则出现了各种过热问题,比如银膏蒸发。这些问题要么是CPU或GPU过热(在高强度3D使用下),要么是各种机械问题。我肯定会寻求切换PC硬件供应商。 - Pawel Debski
1@PawelDebski 谢谢,但请记住我的笔记本电脑现在不超过9个月。 - Christopher Will
@ChristopherWill 你最终做了什么呢? - L0j1k
@L0j1k 我已更新我的帖子,我在18.10版本中也遇到相同的问题。所以,嗯,我可能只能接受它 :( - Christopher Will
可能是联想的一个bug,这个github补丁可能会为您解决问题:https://github.com/erpalma/throttled - WinEunuuchs2Unix
还可以通过直接查看温度来验证传感器是否损坏:paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1°C/'。在我的设备上,最后一行温度 x86_pkg_temp 73.0°C 是合理的。 - WinEunuuchs2Unix
4个回答

有一份针对 thermald错误报告已经提交:

负载下 CPU 频率控制的不稳定行为

有人遇到了你所报告的相同错误:

Oct 14 22:30:59 p5520 kernel: [ 9481.033687] CPU3: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033688] CPU7: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033718] CPU1: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033719] CPU5: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033720] CPU0: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033720] CPU4: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033722] CPU6: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033722] CPU2: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.034709] CPU3: Package temperature/speed normal
Oct 14 22:30:59 p5520 kernel: [ 9481.034710] CPU0: Package temperature/speed normal
Oct 14 22:30:59 p5520 kernel: [ 9481.034711] CPU4: Package temperature/speed normal
Oct 14 22:30:59 p5520 kernel: [ 9481.034711] CPU7: Package temperature/speed normal
Oct 14 22:30:59 p5520 kernel: [ 9481.034738] CPU2: Package temperature/speed normal
Oct 14 22:30:59 p5520 kernel: [ 9481.034738] CPU6: Package temperature/speed normal
Oct 14 22:30:59 p5520 kernel: [ 9481.034739] CPU1: Package temperature/speed normal
Oct 14 22:30:59 p5520 kernel: [ 9481.034740] CPU5: Package temperature/speed normal

评论 #18 说:

try running thermald in a window from command line.

systemctl stop thermald
#thermald --no-daemon --loglevel=info

Then do what triggers this, and attach the output of the above command.

如果您认为这个错误报告适合您的情况,您可以订阅电子邮件通知。
在我的机器上,我无法复制加载了thermaldtlp的问题。我打开了五个终端,并在每个终端中输入了以下内容:
while true ; do : ; done

发生的一切就是五个内核以100%和3100 MHz运行。没有出现任何限制,但它确实使两个笔记本电脑风扇以低速运转。通常在Linux中它们是关闭的(或者至少我听不到它们)。系统温度为88摄氏度,键盘仍然可以响应并输入这个答案。客厅感觉有点暖和...

由于没有人能够重现第18条评论中所描述的行为,该错误被标记为“不会修复”。为了强调这一点,您可以尝试使用sysbench - Pablo Bianchi

@WinEunuuchs2Unix

我已经创建了一个答案,以便讨论您提出的erpalma的限速工具

我已经玩过这个工具一段时间了 - 包括几次系统冻结 :) 不幸的是,我还没有找到适合我的系统的正确配置。 但是这个工具确实对我的系统产生了影响。这是我第一次看到真正改变限制/温度行为的东西。

没有这个工具,我的CPU温度从未超过85°C。一旦我安装了这个工具并启动了服务,我可以看到在压力下温度上升到98°C,核心频率约为3300MHz(而不是3187MHz)。

erpalma推荐了s-tui工具,我也强烈推荐。

enter image description here

1. 在安装所提及的油门服务之前 2. 在激活服务后
我会监控我的系统几天,并会回报情况。 暂时先谢谢!

我今晚会安装这个工具。谢谢你的信息! - WinEunuuchs2Unix

我遇到了同样的问题,出现了这样的错误:
Oct 14 22:30:59 p5520 kernel: [ 9481.033687] CPU3: Package temperature above threshold, cpu clock throttled (total events = 5845) 
Oct 14 22:30:59 p5520 kernel: [ 9481.033688] CPU7: Package temperature above threshold, cpu clock throttled (total events = 5845) 
Oct 14 22:30:59 p5520 kernel: [ 9481.033718] CPU1: Package temperature above threshold, cpu clock throttled (total events = 5845) 
Oct 14 22:30:59 p5520 kernel: [ 9481.033719] CPU5: Package temperature above threshold, cpu clock throttled (total events = 5845) 
Oct 14 22:30:59 p5520 kernel: [ 9481.033720] CPU0: Package temperature above threshold, cpu clock throttled (total events = 5845) 
Oct 14 22:30:59 p5520 kernel: [ 9481.033720] CPU4: Package temperature above threshold, cpu clock throttled (total events = 5845) 
Oct 14 22:30:59 p5520 kernel: [ 9481.033722] CPU6: Package temperature above threshold, cpu clock throttled (total events = 5845) 
Oct 14 22:30:59 p5520 kernel: [ 9481.033722] CPU2: Package temperature above threshold, cpu clock throttled (total events = 5845)

之前的回答都没有起作用,但是SuperUser上的这个回答给了我一个想法,去寻找相关的BIOS设置。
我在我的联想E590 Ci8 BIOS中禁用了速度调节功能,这解决了我的问题,以上的错误都消失了。 编辑:真正的解决方案 我正在安装ARCH Linux,在安装的过程中遇到了这个问题,通过安装最新的英特尔处理器微码来解决。

当日志显示温度超过阈值时,那一刻的温度确实超过了阈值(95摄氏度)。英特尔CPU具有短期的Turbo Boost功能,可以在非常短的时间内(不到1秒)吸取大量功率。如果监控使用1秒内的平均温度来测量最高温度,通常无法反映出真实情况。这对硬件来说并不好,但这是为了使CPU更加响应而做出的努力。