Mọi người nên hiểu các đặc tính nhiệt của máy tính của họ và cung cấp biện pháp bảo vệ thích hợp. Người dùng thường không biết nhiệt độ gói bộ xử lý có thể tăng cực nhanh như thế nào khi tải chức năng theo bước. Một ví dụ từ máy chủ thử nghiệm 20.04 của tôi:
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 độ trên giây
57 133,28 80 độ trên giây
61 133,66 40 độ trên giây
61 132,58 0 độ trên giây
63 133.57
64 134.12
Tải được áp dụng khoảng 4/5 quãng đường trong thời gian lấy mẫu (25/(133,5 - 1,7) ~= 20% hoặc 4/5 giây) và nhiệt độ đã tăng 16 độ hoặc 800 độ mỗi giây. Tải ở đây là bài kiểm tra tra tấn chính95, bài kiểm tra phụ nhiệt độ tối đa. Máy tính ví dụ được làm mát bằng nước với máy bơm nước luôn bật ở tốc độ tối đa. Bộ xử lý i5-10600K.
Đối với bo mạch chủ ASUS, xin lưu ý rằng cảm biến quạt CPU thực sự là một nhiệt điện trở bên ngoài sẽ làm trễ nhiệt độ gói bộ xử lý thực tế cả về thời gian và giá trị. Trên bo mạch chủ ASUS của tôi, khi tải nặng, cảm biến quạt CPU làm chậm nhiệt độ bộ xử lý thực tế 12 độ.
Cuối cùng, nhiệt độ gói bộ xử lý có thể đạt đến giới hạn tắt máy nhanh đến mức các chương trình giám sát hoặc trình nền khác nhau thậm chí không nhận thấy. Đôi khi bảo vệ nhiệt cần phải phản ứng sớm hơn để có thời gian phát huy tác dụng trước khi bất kỳ nhiệt độ vượt quá nào gây ra tắt máy.
Cách 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 -->
Lưu ý: Tôi đang sử dụng điểm dừng cực kỳ thấp là 41 độ, vì hệ thống của tôi được làm mát bằng nước và tôi không thể đạt được nhiệt độ ví dụ mong muốn.
doug@s19:~$ sudo systemctl start thermald
doug@s19:~$ sudo systemctl status thermald
â thermald.service - Dịch vụ Daemon nhiệt
Đã tải: đã tải (/lib/systemd/system/thermald.service; đã tắt; giá trị đặt trước của nhà cung cấp: đã bật)
Hoạt động: hoạt động (đang chạy) kể từ Thứ Sáu 2021-11-05 07:41:45 PDT; 17s trước
PID chính: 3461 (nhiệt)
Nhiệm vụ: 2 (giới hạn: 38214)
Bộ nhớ: 2.2M
Nhóm C: /system.slice/thermald.service
ââ3461 /usr/sbin/thermald --systemd --dbus-enable --adaptive
05 tháng 11 07:41:45 s19 systemd[1]: Bắt đầu dịch vụ Daemon nhiệt...
05 tháng 11 07:41:45 s19 systemd[1]: Bắt đầu dịch vụ Daemon nhiệt.
05 tháng 11 07:41:45 s19 thermald[3461]: 22 mức CPUID; họ:mẫu:bước 0x6:a5:5 (6:165:5)
05 tháng 11 07:41:45 s19 thermald[3461]: 22 mức CPUID; họ:mẫu:bước 0x6:a5:5 (6:165:5)
05 tháng 11 07:41:45 s19 thermald[3461]: Chế độ bỏ phiếu được bật: 4
ngày 05 tháng 11 07:41:45 s19 thermald[3461]: id cảm biến 5: Không có sysfs tạm thời để đọc nhiệt độ thô
ngày 05 tháng 11 07:41:45 s19 thermald[3461]: id cảm biến 5: Không có sysfs tạm thời để đọc nhiệt độ thô
ngày 05 tháng 11 07:41:45 s19 thermald[3461]: id cảm biến 5: Không có sysfs tạm thời để đọc nhiệt độ thô
ngày 05 tháng 11 07:41:45 s19 thermald[3461]: Vùng XML: loại cảm biến không hợp lệ []
Mặc dù trạng thái thermald cho thấy một số phàn nàn, nhưng nó thực sự hoạt động bình thường, mặc dù phản hồi hơi chậm:
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
Điều chỉnh điểm ngắt nếu cần để tận dụng tối đa hệ thống của bạn trong khi vẫn ngăn chặn điểm quá cao gây tắt máy. Điểm dừng quá thấp có thể làm giảm hiệu suất hệ thống xuống mức không mong muốn.
Phương pháp 2: Bù trừ TCC
Đầu tiên, tìm thiết bị làm mát nào:
doug@s19:~$ grep . /sys/thiết bị/ảo/nhiệt/làm mát_thiết bị*/loại
/sys/devices/virtual/thermal/cooling_device0/type:Fan
/sys/devices/virtual/thermal/cooling_device10/type:Processor
/sys/devices/virtual/thermal/cooling_device11/type:Processor
/sys/devices/virtual/thermal/cooling_device12/type:Processor
/sys/devices/virtual/thermal/cooling_device13/type:Processor
/sys/devices/virtual/thermal/cooling_device14/type:Processor
/sys/devices/virtual/thermal/cooling_device15/type:Processor
/sys/devices/virtual/thermal/cooling_device16/type:Processor
/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:Processor
/sys/devices/virtual/thermal/cooling_device6/type:Processor
/sys/devices/virtual/thermal/cooling_device7/type:Processor
/sys/devices/virtual/thermal/cooling_device8/type:Processor
/sys/devices/virtual/thermal/cooling_device9/type:Processor
Đó là thiết bị 18. Đặt offset rồi kiểm tra qua turbostat mà không có tùy chọn --quiet:
doug@s19:~$ tiếng vang 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
phiên bản turbostat 21.05.04 - Len Brown <[email protected]>
CPUID(0): Các mức CPUID 0x16 của Intel chính hãng
CPUID(1): family:model:stepping 0x6:a5:5 (6:165:5) vi mã 0xec
...
cpu0: MSR_IA32_TEMPERATURE_TARGET: 0x3b641422 (41 C) (mặc định 100 - bù 59)
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
...
Lưu ý rằng việc điều chỉnh hầu như ngay lập tức, 4,8 GHz sẽ là tần số CPU không được điều chỉnh. Lưu ý rằng giới hạn điều chỉnh cho bộ xử lý của tôi (không phải tất cả các bộ xử lý) là tần số xung nhịp tối đa không tăng áp là 4,1 GHz và do đó, nó thực sự không thể đạt đến giới hạn cực kỳ thấp là 41 độ.