Toată lumea ar trebui să înțeleagă caracteristicile termice ale computerului său și să ofere o protecție adecvată. Adesea, utilizatorii nu sunt conștienți de cât de rapidă poate crește temperatura pachetului procesorului cu o încărcare a funcției în trepte. Un exemplu de pe serverul meu de testare 20.04:
doug@s19:~$ sudo turbostat --quiet --Summary --show PkgWatt,PkgTmp --interval 0.1
PkgTmp PkgWatt
33 1,88
33 1,69
33 1,56
33 1,74
49 24,99 800 de grade pe secundă
57 133,28 80 de grade pe secundă
61 133,66 40 de grade pe secundă
61 132,58 0 grade pe secundă
63 133,57
64 134.12
Sarcina a fost aplicată aproximativ 4/5 din parcurs de-a lungul timpului de eșantionare (25 / (133,5 - 1,7) ~= 20%, sau 4/5 părți) și temperatura a crescut deja cu 16 grade sau 800 de grade pe secundă. Sarcina aici a fost testul de tortură prime95, subtestul de căldură maximă. Exemplul de computer este răcit cu apă cu pompa de apă mereu pornită la ritmul maxim. Procesor i5-10600K.
Pentru plăcile de bază ASUS, vă rugăm să știți că senzorul ventilatorului CPU este de fapt un termistor extern care va întârzia temperatura actuală a pachetului procesorului atât în timp, cât și în valoare. Pe placa mea de bază ASUS, sub sarcină grea, senzorul ventilatorului CPU întârzie temperatura actuală a procesorului cu 12 grade.
În cele din urmă, este posibil ca temperatura pachetului procesorului să atingă limita de oprire atât de repede încât diferite programe de monitorizare sau demoni nici măcar să nu observe. Uneori, protecția termică trebuie să reacționeze mai devreme pentru a avea timp să aibă efect înainte ca orice temperatură depășită să declanșeze o oprire.
Metoda 1: Thermald
<?xml version="1.0"?>
<!--
use "man thermal-conf.xml" for details
-->
<!-- BEGIN -->
<ThermalConfiguration>
<Platform>
<Name>Overide CPU default passive</Name>
<ProductName>*</ProductName>
<Preference>QUIET</Preference>
<ThermalZones>
<ThermalZone>
<Type>cpu</Type>
<TripPoints>
<TripPoint>
<Temperature>41000</Temperature>
<type>passive</type>
</TripPoint>
</TripPoints>
</ThermalZone>
</ThermalZones>
</Platform>
</ThermalConfiguration>
<!-- END -->
Notă: folosesc un punct de declanșare ridicol de scăzut de 41 de grade, deoarece sistemul meu este răcit cu apă și nu pot ajunge la temperaturile de exemplu dorite.
doug@s19:~$ sudo systemctl start thermald
doug@s19:~$ sudo systemctl status thermald
â thermald.service - Thermal Daemon Service
Încărcat: încărcat (/lib/systemd/system/thermald.service; dezactivat; prestabilit furnizor: activat)
Activ: activ (în rulare) din vineri 2021-11-05 07:41:45 PDT; acum 17 ani
PID principal: 3461 (termal)
Sarcini: 2 (limită: 38214)
Memorie: 2,2 M
CGroup: /system.slice/thermald.service
ââ3461 /usr/sbin/thermald --systemd --dbus-enable --adaptive
05 noiembrie 07:41:45 s19 systemd[1]: Se pornește serviciul Thermal Daemon...
05 noiembrie 07:41:45 s19 systemd[1]: Serviciul Thermal Daemon a pornit.
Nov 05 07:41:45 s19 thermald[3461]: 22 nivele CPUID; family:model:stepping 0x6:a5:5 (6:165:5)
Nov 05 07:41:45 s19 thermald[3461]: 22 nivele CPUID; family:model:stepping 0x6:a5:5 (6:165:5)
Nov 05 07:41:45 s19 thermald[3461]: Modul de sondare este activat: 4
Nov 05 07:41:45 s19 thermald[3461]: ID senzor 5: Fără sistem de temperatură pentru citirea temperaturii brute
Nov 05 07:41:45 s19 thermald[3461]: ID senzor 5: Fără sistem de temperatură pentru citirea temperaturii brute
Nov 05 07:41:45 s19 thermald[3461]: ID senzor 5: Fără sistem de temperatură pentru citirea temperaturii brute
05 noiembrie 07:41:45 s19 thermald[3461]: zonă XML: tip senzor nevalid []
În timp ce starea termică arată unele plângeri, de fapt funcționează corect, deși este puțin lent să răspundă:
doug@s19:~$ sudo turbostat --quiet --Summary --show PkgWatt,PkgTmp --interval 1
PkgTmp PkgWatt
33 1.44
33 1.34
33 1.33
58 63,26
61 114,43
61 114,68
48 86,59
47 55,48
47 55,53
41 42,77
43 33.43
41 34.30
41 28.04
43 33,63
40 34.45
44 33,57
41 34.40
44 33,85
34 14.50
34 1.33
34 1.33
Reglați punctul de declanșare după cum este necesar pentru a profita la maximum de sistemul dvs., prevenind în același timp depășirea punctului maxim care provoacă o oprire. A avea un punct de declanșare prea scăzut ar putea reduce performanța sistemului la niveluri nedorite.
Metoda 2: TCC Offset
Mai întâi, găsiți ce dispozitiv de răcire:
doug@s19:~$ grep . /sys/devices/virtual/thermal/cooling_device*/type
/sys/devices/virtual/thermal/cooling_device0/type:Fan
/sys/devices/virtual/thermal/cooling_device10/type:Procesor
/sys/devices/virtual/thermal/cooling_device11/type:Procesor
/sys/devices/virtual/thermal/cooling_device12/type:Procesor
/sys/devices/virtual/thermal/cooling_device13/type:Procesor
/sys/devices/virtual/thermal/cooling_device14/type:Procesor
/sys/devices/virtual/thermal/cooling_device15/type:Procesor
/sys/devices/virtual/thermal/cooling_device16/type:Procesor
/sys/devices/virtual/thermal/cooling_device17/type:intel_powerclamp
/sys/devices/virtual/thermal/cooling_device18/type:TCC Offset
/sys/devices/virtual/thermal/cooling_device1/type:Fan
/sys/devices/virtual/thermal/cooling_device2/type:Fan
/sys/devices/virtual/thermal/cooling_device3/type:Fan
/sys/devices/virtual/thermal/cooling_device4/type:Fan
/sys/devices/virtual/thermal/cooling_device5/type:Procesor
/sys/devices/virtual/thermal/cooling_device6/type:Procesor
/sys/devices/virtual/thermal/cooling_device7/type:Procesor
/sys/devices/virtual/thermal/cooling_device8/type:Procesor
/sys/devices/virtual/thermal/cooling_device9/type:Procesor
Este dispozitivul 18. Setați offset-ul și apoi verificați-l prin turbostat fără opțiunea --quiet:
doug@s19:~$ echo 59 | sudo tee /sys/devices/virtual/thermal/cooling_device18/cur_state
59
doug@s19:~$ sudo /home/doug/temp-k-git/linux/tools/power/x86/turbostat/turbostat --Summary --show Bzy_MHz,PkgWatt,PkgTmp --interval 0.1
versiunea turbostat 21.05.04 - Len Brown <[email protected]>
CPUID(0): niveluri CPUID GenuineIntel 0x16
CPUID(1): familie:model:pasare 0x6:a5:5 (6:165:5) microcod 0xec
...
cpu0: MSR_IA32_TEMPERATURE_TARGET: 0x3b641422 (41 C) (100 implicit - 59 offset)
cpu0: MSR_IA32_PACKAGE_THERM_STATUS: 0x883f0800 (37 C)
...
Bzy_MHz PkgTmp PkgWatt
800 33 1,35
800 33 1,34
800 34 1,40
4187 49 86,23
4100 52 91,72
4100 53 91,29
...
Observați că accelerarea este practic imediată, 4,8 GHz ar fi fost frecvența CPU nelimitată. Rețineți că limita de accelerare pentru procesorul meu (nu toate procesoarele) este frecvența maximă de ceas non-turbo de 4,1 GHz și, prin urmare, nu poate atinge limita ridicol de joasă de 41 de grade.