web-dev-qa-db-fra.com

Définir le seuil de limitation de la température du processeur sur Ubuntu / Thinkpad

Je reçois les messages d'erreur suivants plusieurs fois par heure:

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

Spécifications matérielles:

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

Logiciel:

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:

Je règle à la fois la batterie et AC sur la performance dans les paramètres du BIOS. , le BIOS est à jour.

Quel est le problème

Le problème est qu’un seuil de température du processeur est atteint assez tôt, il se situe autour de 75 ° C, même si le processeur est autorisé à atteindre jusqu’à 100 ° C . La température ne dépasse jamais 85 ° C. Donc, la puissance du processeur est étranglée si vite.

Je ne sais pas si je peux avoir un problème matériel avec le fabricant concernant une pâte thermique inadéquate ou s'il s'agit d'un logiciel. Avant de l'envoyer à Lenovo, je veux m'assurer que ce n'est pas un problème créé par soi-même .

Stats

Quand je fais un stress test

stress -c 4 -t 300

le message d'erreur se produit presque instantanément.

i7z donne la sortie suivante:

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

Comme dit, il ne dépasse jamais la température de 85 ° C, mais le processeur est étranglé.

capteurs affiche les résultats suivants

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)

Mais le réglage élevé n'a probablement aucun effet.

thermald

Alors j'ai joué avec thermald alors.

C'est ma configuration ajustée qui j'ai trouvé ici :

<?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>

Cela ne fait aucune différence, mais je peux au moins voir les paramètres de seuil (les dernières lignes):

╰─ 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

Réflexions finales/questions

  • Est-il possible de définir le seuil de température du processeur?
  • Est-il censé être configuré ou est-ce que ce BIOS/matériel est lié?
  • Mon matériel (pâte thermique) peut-il être défectueux?
  • Ou ai-je peut-être analysé quelque chose de complètement faux?

Mise à jour # 1

Après avoir approfondi ce sujet et lu plusieurs articles sur la limitation du processeur d'Intel et d'autres publications faisant face à des problèmes identiques (ou légèrement différents) sur d'autres systèmes d'exploitation et noyaux, je suis arrivé à la conclusion que mon ordinateur portable ne se comportait peut-être pas mal comme je le pensais. .

Les messages du noyau sont toujours bizarres, mais la raison pourrait être un mauvais niveau de printk du noyau ou quoi que ce soit. Je récupère également ces messages lorsque la température de mon package CPU est d'environ + 52,0 ° C et que la fréquence de celui-ci ne dépasse pas 1200 MHz. Cela n’a aucun sens.

Lorsque je teste mon ordinateur portable avec des tests de stress, je peux voir les messages d'erreur, mais en réalité, les processeurs ne sont pas étranglés. Si je teste un seul cœur, la vitesse du turbo-boost est de 3 900 MHz. Tester les 4 cœurs réduit la fréquence maximale à environ 3 300 MHz. Quel est le comportement attend .

Je vais donc simplement mettre cette question de côté - à moins que quelqu'un ici ne fournisse plus d'intérieurs.

Mise à jour # 2

Aucune modification après la mise à jour du système:

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

Mise à jour # 3

Aucune modification après la mise à jour du système:

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

Donc, ma dernière hypothèse est que les journaux sont très probablement fausses ou que le niveau de journal est mal configuré. Parce que mon ordinateur portable fonctionne très bien, il n’est ni étranglé ni surchauffé.

Néanmoins, si quelqu'un a une idée de comment résoudre ce problème, n'hésitez pas à répondre :-)

Mise à jour # 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

Je reçois toujours les messages de limitation de seuil.

16
Christopher Will

@ WinEunuuchs2Unix

J'ai créé une réponse, afin de discuter de votre proposition outil d'étranglement de erpalma .

J'ai un peu joué avec cet outil - y compris plusieurs systèmes bloqués :) Malheureusement, je n'ai pas encore trouvé la configuration appropriée pour mon système. Mais cet outil a certainement un impact sur mon système. La première fois que je vois quelque chose qui change vraiment le comportement de régulation/température.

Sans l'outil, la température de mon processeur ne dépassait jamais 85 ° C. Une fois que j'ai installé l'outil et démarré le service, je peux voir la température augmenter à 98 ° C sous contrainte, avec une fréquence à cœur de ~ 3 300 MHz (au lieu de 3 317 MHz).

erpalma recommande le tool s-tui , ce que je peux certainement vous recommander aussi.

enter image description here

  1. Avant d'installer le service de papillon mentionné
  2. Après avoir activé le service

Je surveillerai mon système pendant quelques jours et ferai un rapport. Merci pour l'instant!

1
Christopher Will

Il y a un rapport de bogue classé contre thermald:

Comportement erratique du contrôle de fréquence du processeur sous charge

Les gens reçoivent les mêmes erreurs que vous signalez:

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

Le commentaire n ° 18 dit à:

essayez de lancer thermald dans une fenêtre à partir de la ligne de commande.

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

Faites ensuite ce qui déclenche cette opération et attachez le résultat de la commande ci-dessus.

Si vous décidez que le rapport de bogue correspond à votre situation, vous pouvez vous abonner aux notifications par courrier électronique.


Sur ma machine, je ne peux pas dupliquer le problème avec thermald et tlp chargés. J'ai ouvert cinq terminaux et tapé dans chacun d'eux:

while true ; do : ; done

Tout ce qui s'est passé, c'est que cinq cœurs fonctionnent à 100% et à 3 100 MHz. Aucune limitation n'a eu lieu, mais les deux ventilateurs d'ordinateurs portables ont fonctionné à basse vitesse. Normalement, ils sont désactivés sous Linux (ou du moins, je ne les entends pas). La température du système est de 88 degrés Celsius et le clavier répond toujours pour taper cette réponse. Le salon se sent un peu plus chaud cependant ...

1
WinEunuuchs2Unix