Оптимизировать тепловой демон

Вопрос или проблема

Я только что обнаружил thermald для предотвращения перегрева машин. Я хотел бы получить несколько базовых рекомендаций о том, как изменить xml файл конфигурации. Ниже приведен файл, который я имею по адресу /etc/thermald/thermal-conf.xml. По некоторым примерам, которые я просмотрел в интернете, кажется, что он настроен на предотвращение перегрева при 55 °C (если я правильно читаю строку <Temperature>55000</Temperature>), но мои ядра нагреваются до 94 °C с работающими вентиляторами.

Я использую машину с Intel(R) Core(TM) i7-10850H CPU @ 2.70GHz.

<?xml version="1.0"?>

<!--
используйте "man thermal-conf.xml" для получения подробностей
-->

<!-- НАЧАЛО -->
<ThermalConfiguration>
<Platform>
    <Name>Generic X86 Laptop Device</Name>
    <ProductName>EXAMPLE_SYSTEM</ProductName>
    <Preference>QUIET</Preference>
    <ThermalSensors>
        <ThermalSensor>
            <Type>TSKN</Type>
            <AsyncCapable>1</AsyncCapable>
        </ThermalSensor>
    </ThermalSensors>
    <ThermalZones>
        <ThermalZone>
            <Type>SKIN</Type>
            <TripPoints>
                <TripPoint>
                    <SensorType>TSKN</SensorType>
                    <Temperature>55000</Temperature>
                    <type>passive</type>
                    <ControlType>SEQUENTIAL</ControlType>
                    <CoolingDevice>
                        <index>1</index>
                        <type>rapl_controller</type>
                        <influence> 100 </influence>
                        <SamplingPeriod> 16 </SamplingPeriod>
                    </CoolingDevice>
                    <CoolingDevice>
                        <index>2</index>
                        <type>intel_powerclamp</type>
                        <influence> 100 </influence>
                        <SamplingPeriod> 12 </SamplingPeriod>
                    </CoolingDevice>
                </TripPoint>
            </TripPoints>
        </ThermalZone>
    </ThermalZones>
</Platform>

<!-- Пример термальной конфигурации только -->
<Platform>
    <Name>Example Platform Name</Name>
    <!--UUID является необязательным, если он присутствует, он будет сопоставлен -->
    <!-- Как название продукта, так и UUID могут содержать
        подстановочный символ "*", который соответствует любой платформе
     -->
    <UUID>Example UUID</UUID>
    <ProductName>Example Product Name</ProductName>
    <Preference>QUIET</Preference>
    <ThermalSensors>
        <ThermalSensor>
            <!-- Новый сенсор с типом и путем -->
            <Type>example_sensor_1</Type>
            <Path>/some_path</Path>
            <AsyncCapable>0</AsyncCapable>
        </ThermalSensor>
        <ThermalSensor>
            <!-- Уже присутствует в термальном sysfs,
                активируйте это или добавьте/измените конфигурацию
                Например, здесь мы указываем, что
                сенсор может выполнять асинхронные события, чтобы избежать опроса
            -->
            <Type>example_thermal_sysfs_sensor</Type>
            <!-- Если асинхронно, тогда нам не нужно опрашивать -->
            <AsyncCapable>1</AsyncCapable>
        </ThermalSensor>
        <ThermalSensor>
            <!-- Пример виртуального сенсора. Этот сенсор
                зависит от другого реального сенсора или
                виртуального сенсора.
                Например, здесь температура будет
                 температура example_sensor_1 * 0.5 + 10
            -->
            <Type>example_virtual_sensor</Type>
            <Virtual>1</Virtual>
            <SensorLink>
                <SensorType>example_sensor_1</SensorType>
                <Multiplier> 0.5 </Multiplier>
                <Offset> 10 </Offset>
            </SensorLink>
        </ThermalSensor>

    </ThermalSensors>
    <ThermalZones>
        <ThermalZone>
            <Type>Example Zone type</Type>
            <TripPoints>
                <TripPoint>
                    <SensorType>example_sensor_1</SensorType>
                    <!-- Температура, при которой необходимо предпринять действие -->
                    <Temperature> 75000 </Temperature>
                    <!-- макс/пассивный/активный
                        Если указан тип MAX, то
                        демон будет использовать управление PID
                        для агрессивного ограничения, чтобы избежать
                        достижения этой температуры.
                     -->
                    <type>max</type>
                    <!-- SEQUENTIAL | PARALLEL
                    Когда температура триггерной точки нарушена, то
                    количество охладительных устройств может быть активировано.
                    Если тип управления SEQUENTIAL, то
                    оно сначала будет использовать первое охлаждающее устройство, прежде чем попробовать
                    следующее.
                    -->
                    <ControlType>SEQUENTIAL</ControlType>
                    <CoolingDevice>
                        <index>1</index>
                        <type>example_cooling_device</type>
                        <!-- Влияние будет использовать порядок охладительных устройств.
                            Первое охлаждающее устройство будет использовано, которое имеет
                            наибольшее влияние.
                        -->
                        <influence> 100 </influence>
                        <!-- Задержка в использовании этого cdev, это занимает некоторое время
                        также фактически охладить зону
                        -->
                        <SamplingPeriod> 12 </SamplingPeriod>
                    </CoolingDevice>
                </TripPoint>

            </TripPoints>
        </ThermalZone>
    </ThermalZones>
    <CoolingDevices>
        <CoolingDevice>
            <!--
                Охлаждающее устройство может быть определено
                по типу и, возможно, по пути sysfs
                Если тип уже присутствует в термальном sysfs
                нет необходимости в пути.
                Компенсация может использовать min/max и размер шага
                для увеличения охлаждения системы.
                Период подавления может быть использован для принудительного
                периода ожидания действия
            -->
            <Type>example_cooling_device</Type>
            <MinState>0</MinState>
            <IncDecStep>10</IncDecStep>
            <ReadBack> 0 </ReadBack>
            <MaxState>50</MaxState>
            <DebouncePeriod>5000</DebouncePeriod>
            <!--
                Если нет параметров PID 
                компенсация увеличивается поэтапно и экспоненциально,
                если один шаг не может изменить тренд.
                В качестве альтернативы можно указать параметры PID,
                тогда следующий шаг будет использовать расчёт PID с использованием
                предоставленных постоянных PID.
            -->>
            <PidControl>
                <kp>0.001</kp>
                <kd>0.0001</kd>
                <ki>0.0001</ki>
            </PidControl>
        </CoolingDevice>
    </CoolingDevices>
</Platform>
</ThermalConfiguration>
<!-- КОНЕЦ -->

Следуя предложению от @heynnema, я удалил файл конфигурации, остановил thermald и запустил sudo thermald --no-daemon --loglevel=info. Вот вывод, но как это должно помочь мне составить новый, более эффективный файл конфигурации?

$ sudo thermald --no-daemon --loglevel=info
[1649408071][INFO]Количество доменов RAPL 1
[1649408071][INFO]Количество доменов RAPL 1
[1649408071][MSG]22 уровня CPUID; семейство:модель:шаг 0x6:a5:2 (6:165:2)
[1649408071][INFO]Запуск на ванильном ядре
[1649408071][MSG]Режим опроса включен: 4
[1649408071][INFO]sensor_update: тип TSKN
[1649408071][INFO]sensor_update: тип acpitz
[1649408071][INFO]sensor_update: тип x86_pkg_temp
[1649408071][INFO]sensor_update: тип pch_cometlake
[1649408071][INFO]sensor_update: тип NGFF
[1649408071][INFO]sensor_update: тип TMEM
[1649408071][INFO]sensor_update: тип B0D4
[1649408071][INFO]sensor_update: тип TVGA
[1649408071][INFO]thd_read_default_thermal_sensors загружено 8 сенсоров 
[1649408071][INFO]dts /sys/devices/platform/coretemp.0/name не существует
[1649408071][WARN]идентификатор сенсора 11 : Нет температурного sysfs для чтения сырой температуры
[1649408071][WARN]идентификатор сенсора 11 : Нет температурного sysfs для чтения сырой температуры
[1649408071][WARN]идентификатор сенсора 11 : Нет температурного sysfs для чтения сырой температуры
[1649408071][INFO]Базовый путь INT3400 
[1649408071][INFO]не удалось открыть /dev/acpi_thermal_rel 
[1649408071][INFO]не удалось открыть /dev/acpi_thermal_rel 
[1649408071][INFO]Чтение TRT/ART не удалось
[1649408071][INFO]Использование конфигурационного файла /etc/thermald/thermal-conf.xml
Предупреждение ввода/вывода : не удалось загрузить внешний объект "/etc/thermald/thermal-conf.xml"
[1649408071][WARN]ошибка: не удалось разобрать файл /etc/thermald/thermal-conf.xml
[1649408071][INFO]индекс сенсора:2 TSKN /sys/class/thermal/thermal_zone2/ Асинхронный:0 
[1649408071][INFO]индекс сенсора:0 acpitz /sys/class/thermal/thermal_zone0/ Асинхронный:0 
[1649408071][INFO]индекс сенсора:7 x86_pkg_temp /sys/class/thermal/thermal_zone7/ Асинхронный:1 
[1649408071][INFO]индекс сенсора:5 pch_cometlake /sys/class/thermal/thermal_zone5/ Асинхронный:0 
[1649408071][INFO]индекс сенсора:3 NGFF /sys/class/thermal/thermal_zone3/ Асинхронный:0 
[1649408071][INFO]индекс сенсора:1 TMEM /sys/class/thermal/thermal_zone1/ Асинхронный:0 
[1649408071][INFO]индекс сенсора:6 B0D4 /sys/class/thermal/thermal_zone6/ Асинхронный:0 
[1649408071][INFO]индекс сенсора:4 TVGA /sys/class/thermal/thermal_zone4/ Асинхронный:0 
[1649408071][INFO]индекс сенсора:8 hwmon /sys/class/hwmon/hwmon5/temp1_input Асинхронный:0 
[1649408071][INFO]индекс сенсора:9 hwmon /sys/class/hwmon/hwmon5/temp2_input Асинхронный:0 
[1649408071][INFO]индекс сенсора:10 hwmon /sys/class/hwmon/hwmon5/temp3_input Асинхронный:0 
[1649408071][INFO]thd_read_default_cooling devices загружено 14 cdevs 
[1649408071][INFO]ppcc ограничения макс:47000000 мин:10000000  мин_win:28000000 шаг:1000000
[1649408071][INFO]set_pid_param 14 [-1000.100,10]
[1649408071][INFO]Используйте настройки pstate drv по умолчанию
[1649408071][INFO]создание sysfs не удалось 
[1649408071][INFO]Базовый путь INT3400 
[1649408071][INFO]не удалось открыть /dev/acpi_thermal_rel 
[1649408071][INFO]не удалось открыть /dev/acpi_thermal_rel 
[1649408071][INFO]Чтение TRT/ART не удалось
[1649408071][INFO]Использование конфигурационного файла /etc/thermald/thermal-conf.xml
Предупреждение ввода/вывода : не удалось загрузить внешний объект "/etc/thermald/thermal-conf.xml"
[1649408071][WARN]ошибка: не удалось разобрать файл /etc/thermald/thermal-conf.xml
[1649408071][INFO]имя = package-0
[1649408071][INFO]имя = dram
[1649408071][INFO]sysfs чтение не удалось /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/constraint_0_max_power_uw
[1649408071][INFO]:powercap RAPL недопустимый диапазон максимальной мощности 
[1649408071][INFO]Динамическое вычисление phy_max 
[1649408071][INFO]set_pid_param 18 [-0.4.0,0]
[1649408071][INFO]13: ath10k_thermal, C:0 MN: 0 MX:100 ST:1 pt:/sys/class/thermal/ rd_bk 1 
[1649408071][INFO]1: Процессор, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
[1649408071][INFO]11: Процессор, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
[1649408071][INFO]8: Процессор, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
[1649408071][INFO]6: Процессор, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
[1649408071][INFO]4: Процессор, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
[1649408071][INFO]2: Процессор, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
[1649408071][INFO]12: intel_powerclamp, C:-1 MN: 0 MX:50 ST:5 pt:/sys/class/thermal/ rd_bk 0 
[1649408071][INFO]0: Процессор, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
[1649408071][INFO]10: Процессор, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
[1649408071][INFO]9: Процессор, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
[1649408071][INFO]7: Процессор, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
[1649408071][INFO]5: Процессор, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
[1649408071][INFO]3: Процессор, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
[1649408071][INFO]14: rapl_controller, C:47000000 MN: 47000000 MX:10000000 Увеличить ST:-2000000 Уменьшить ST:-1000000 pt:/sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/ rd_bk 1 
[1649408071][INFO]15: intel_pstate, C:0 MN: 0 MX:10 ST:1 pt:/sys/devices/system/cpu/intel_pstate/ rd_bk 1 
[1649408071][INFO]16: rapl_controller_dram, C:100000000 MN: 100000000 MX:0 ST:-500000 pt:/sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/ rd_bk 1 
[1649408071][INFO]17: LCD, C:0 MN: 0 MX:120000 ST:12000 pt:/sys/class/backlight/intel_backlight/ rd_bk 1 
[1649408071][INFO]18: amdgpu, C:0 MN: 0 MX:0 ST:0 pt: rd_bk 1 
[1649408071][INFO]thd_read_default_thermal_zones загружено 7 зон 
[1649408071][INFO]Базовый путь INT3400 
[1649408071][INFO]зона cpu будет создана 
[1649408071][INFO]dts зона /sys/devices/platform/coretemp.0/name не существует
[1649408071][INFO]/sys/class/hwmon/hwmon6/name->dell_smm
[1649408071][INFO]/sys/class/hwmon/hwmon4/name->pch_cometlake
[1649408071][INFO]/sys/class/hwmon/hwmon2/name->BAT0
[1649408071][INFO]/sys/class/hwmon/hwmon0/name->AC
[1649408071][INFO]/sys/class/hwmon/hwmon7/name->ath10k_hwmon
[1649408071][INFO]/sys/class/hwmon/hwmon5/name->coretemp
[1649408071][INFO]Ошибочная максимальная температура: слишком близка к критической 90000
[1649408071][INFO]Температура ядра DTS :критическая 100000, максимальная 90000, psv 95000
[1649408071][INFO]тип узла: Элемент, имя: Охладительное устройство значение: rapl_controller
[1649408071][INFO]тип узла: Элемент, имя: Охладительное устройство значение: intel_pstate
[1649408071][INFO]тип узла: Элемент, имя: Охладительное устройство значение: intel_powerclamp
[1649408071][INFO]тип узла: Элемент, имя: Охладительное устройство значение: cpufreq
[1649408071][INFO]тип узла: Элемент, имя: Охладительное устройство значение: Процессор
[1649408071][INFO]Порядок CDEVS указан в thermal-cpu-cdev-order.xml
[1649408071][INFO]/sys/class/hwmon/hwmon3/name->nouveau
[1649408071][INFO]/sys/class/hwmon/hwmon1/name->acpitz
[1649408071][INFO]Базовый путь INT3400 
[1649408071][INFO]не удалось открыть /dev/acpi_thermal_rel 
[1649408071][INFO]не удалось открыть /dev/acpi_thermal_rel 
[1649408071][INFO]Чтение TRT/ART не удалось
[1649408071][INFO]Использование конфигурационного файла /etc/thermald/thermal-conf.xml
Предупреждение ввода/вывода : не удалось загрузить внешний объект "/etc/thermald/thermal-conf.xml"
[1649408071][WARN]ошибка: не удалось разобрать файл /etc/thermald/thermal-conf.xml
[1649408071][INFO]

 ДАННЫЕ ЗОНЫ НАЧАЛО
[1649408071][INFO]
[1649408071][INFO]Зона 8: cpu, Активная:1 Привязка:0 Количество сенсоров:1
[1649408071][INFO]..сенсоры.. 
[1649408071][INFO]индекс сенсора:7 x86_pkg_temp /sys/class/thermal/thermal_zone7/ Асинхронный:1 
[1649408071][INFO]..триггеры.. 
[1649408071][INFO]индекс 0: тип:пассивный темп:95000 гистерезис:0 id зоны:8 id сенсора:65535 тип управления:1 размер cdev:4
[1649408071][INFO]cdev[0] rapl_controller, Период выборки: 0
[1649408071][INFO]   целевое состояние:не определено
[1649408071][INFO]cdev[1] intel_pstate, Период выборки: 0
[1649408071][INFO]   целевое состояние:не определено
[1649408071][INFO]cdev[2] intel_powerclamp, Период выборки: 0
[1649408071][INFO]   целевое состояние:не определено
[1649408071][INFO]cdev[3] Процессор, Период выборки: 0
[1649408071][INFO]   целевое состояние:не определено
[1649408071][INFO]индекс 1: тип:опрос температура:85500 гистерезис:0 id зоны:8 id сенсора:7 тип управления:0 размер cdev:0
[1649408071][INFO]
[1649408071][INFO]

 ДАННЫЕ ЗОНЫ КОНЕЦ
[1649408071][INFO]Текущая предпочтение пользователя 0
[1649408071][INFO]thd_engine_thread начать

После редактирования это мой файл конфигурации, но температура ядер поднимается до 90 °C:

~$ cat /etc/thermald/thermal-conf.xml
<?xml version="1.0"?>
<ThermalConfiguration>
<Platform>
        <Name>Generic X86 Laptop Device</Name>
        <ProductName>*</ProductName>
        <Preference>QUIET</Preference>
        <ThermalZones>
                <ThermalZone>
                        <Type>cpu</Type>
                        <TripPoints>
                                <TripPoint>
                                        <SensorType>x86_pkg_temp</SensorType>
                                        <Temperature>55000</Temperature>
                                        <type>passive</type>
                                        <ControlType>PARALLEL</ControlType>
                                </TripPoint>
                        </TripPoints>
                </ThermalZone>
        </ThermalZones>
</Platform>
</ThermalConfiguration>

Дополнительная информация:

~$ ls -al /etc/thermald
total 32
drwxr-xr-x   2 root      root       4096 Apr  8 16:32 .
drwxr-xr-x 159 root      root      12288 Apr  5 09:03 ..
-rw-r--r--   1 root      root       4605 Jan 15  2019 backup
-rw-rw-r--   1 username username   816 Apr  8 16:32 thermal-conf.xml
-rw-r--r--   1 root      root        508 Jan 15  2019 thermal-cpu-cdev-order.xml

И это также кажется актуальным (thermald неактивен?):

$ sudo systemctl status thermald
● thermald.service - Thermal Daemon Service
     Загружено: загружено (/lib/systemd/system/thermald.service; включено; предустановка поставщика: включено)
     Активно: неактивно (мертво) с пятницы 2022-04-08 10:54:28 CEST; 1 неделя 0 дней назад
   Главный PID: 1328 (код=вышел, статус=0/УСПЕХ)

Apr 07 11:51:51 Precision-3551 thermald[1328]: ошибка: не удалось разобрать файл /etc/thermald/thermal-conf.xml
Apr 07 11:51:51 Precision-3551 thermald[1328]: Предупреждение ввода/вывода : не удалось загрузить внешний объект "/etc/thermald/thermal-conf.xml"
Apr 07 11:51:51 Precision-3551 thermald[1328]: ошибка: не удалось разобрать файл /etc/thermald/thermal-conf.xml
Apr 07 11:51:51 Precision-3551 thermald[1328]: Предупреждение ввода/вывода : не удалось загрузить внешний объект "/etc/thermald/thermal-conf.xml"
Apr 07 11:51:51 Precision-3551 thermald[1328]: ошибка: не удалось разобрать файл /etc/thermald/thermal-conf.xml
Apr 08 10:54:26 Precision-3551 systemd[1]: Остановка сервиса Thermal Daemon...
Apr 08 10:54:26 Precision-3551 thermald[1328]: Завершение ...
Apr 08 10:54:27 Precision-3551 thermald[1328]: завершение по запросу пользователя ..
Apr 08 10:54:28 Precision-3551 systemd[1]: thermald.service: Успешно завершено.
Apr 08 10:54:28 Precision-3551 systemd[1]: Остановлен сервис Thermal Daemon.

Теперь я снова активировал его с помощью sudo service thermald restart и теперь:

$ sudo systemctl status thermald
● thermald.service - Thermal Daemon Service
     Загружено: загружено (/lib/systemd/system/thermald.service; включено; предустановка поставщика: включено)
     Активно: активно (работает) с пятницы 2022-04-15 22:26:23 CEST; 2с назад
   Главный PID: 609438 (thermald)
      Задачи: 2 (лимит: 18622)
     Память: 1.3M
     CGroup: /system.slice/thermald.service
             └─609438 /usr/sbin/thermald --systemd --dbus-enable --adaptive

Apr 15 22:26:23 Precision-3551 systemd[1]: Запуск сервиса Thermal Daemon Service...
Apr 15 22:26:23 Precision-3551 systemd[1]: Запущен сервис Thermal Daemon Service.
Apr 15 22:26:23 Precision-3551 thermald[609438]: 22 уровня CPUID; семейство:модель:шаг 0x6:a5:2 (6:165:2)
Apr 15 22:26:23 Precision-3551 thermald[609438]: 22 уровня CPUID; семейство:модель:шаг 0x6:a5:2 (6:165:2)
Apr 15 22:26:23 Precision-3551 thermald[609438]: Режим опроса включен: 4
Apr 15 22:26:23 Precision-3551 thermald[609438]: идентификатор сенсора 11 : Нет температурного sysfs для чтения сырой температуры
Apr 15 22:26:23 Precision-3551 thermald[609438]: идентификатор сенсора 11 : Нет температурного sysfs для чтения сырой температуры
Apr 15 22:26:23 Precision-3551 thermald[609438]: идентификатор сенсора 11 : Нет температурного sysfs для чтения сырой температуры

Из комментариев:

Урок о том, как настроить thermald, может занять некоторое время. Сначала проверьте man thermald и man thermal-conf.xml. Файл thermal-conf.xml, который вы использовали, является универсальным примером. Сначала удалите его полностью и перезапустите thermald. Он попробует запуститься с конфигурацией по умолчанию, если не найдет .xml файл. Посмотрите, как это работает. В противном случае остановите thermald и запустите его вручную с помощью sudo thermald --no-daemon --loglevel=info и дайте thermald сообщить вам, что он находит, и используйте это для написания вашего собственного .xml файла.

Вот мой файл thermal-conf.xml…

<?xml version="1.0"?>
<ThermalConfiguration>
<Platform>
        <Name>Dell Inspiron-7700-AIO</Name>
        <ProductName>*</ProductName>
        <Preference>QUIET</Preference>
        <ThermalZones>
                <ThermalZone>
                        <Type>cpu</Type>
                        <TripPoints>
                                <TripPoint>
                                        <SensorType>x86_pkg_temp</SensorType>
                                        <Temperature>65000</Temperature>
                                        <type>passive</type>
                                        <ControlType>PARALLEL</ControlType>
                                        <CoolingDevice>
                                                <index>0</index>
                                                <type>Fan</type>
                                                <influence>30</influence>
                                                <SamplingPeriod>10</SamplingPeriod>
                                        </CoolingDevice>
                                        <CoolingDevice>
                                                <index>5</index>
                                                <type>Processor</type>
                                                <influence>80</influence>
                                                <SamplingPeriod>5</SamplingPeriod>
                                        </CoolingDevice>
                                        <CoolingDevice>
                                                <index>13</index>
                                                <type>intel_powerclamp</type>
                                                <influence>100</influence>
                                                <SamplingPeriod>5</SamplingPeriod>
                                        </CoolingDevice>
                                </TripPoint>
                        </TripPoints>
                </ThermalZone>
        </ThermalZones>
</Platform>
</ThermalConfiguration>

Обновление #1:

Минимальный файл thermal-conf.xml…

Просто отредактируйте значения <Name>, <SensorType> и <Temperature>. Затем перезапустите thermald как демон или вручную, чтобы наблюдать, что происходит.

<?xml version="1.0"?>
<ThermalConfiguration>
<Platform>
        <Name>Generic</Name>
        <ProductName>*</ProductName>
        <Preference>QUIET</Preference>
        <ThermalZones>
                <ThermalZone>
                        <Type>cpu</Type>
                        <TripPoints>
                                <TripPoint>
                                        <SensorType>x86_pkg_temp</SensorType>
                                        <Temperature>55000</Temperature>
                                </TripPoint>
                        </TripPoints>
                </ThermalZone>
        </ThermalZones>
</Platform>
</ThermalConfiguration>

Чтобы нагрузить ЦП и наблюдать, что происходит с температурами, сначала установите Vitals https://extensions.gnome.org/extension/1460/vitals/ и настройте его на отображение температур пакета ЦП и скорости вентилятора. Затем введите “YES” в терминале и смотрите, что происходит с температурой ЦП. Вы также можете установить приложение stress, чтобы сделать то же самое, как “YES”, но с большим контролем.

Ответ или решение

Оптимизация работы термального демона thermald – это важный аспект для управления температурой процессора и предотвращения перегрева в современных ноутбуках и компьютерах. Исходя из предоставленных данных, можно сделать несколько рекомендаций по настройке конфигурационного файла XML для вашего устройства с процессором Intel Core i7-10850H.

1. Анализ текущей конфигурации

Ваш существующий конфигурационный файл в /etc/thermald/thermal-conf.xml определяет термальные зоны и температуры срабатывания для управления охладительными устройствами. Однако, согласно вашей информации, температура процессора достигает 90°C, что является слишком высоким значением. Вы правы в том, что настройки активируются только по достижении 55°C, что может быть слишком поздно для предотвращения перегрева.

2. Рекомендации по редактированию конфигурационного файла

Следует внести изменения, чтобы улучшить работу thermald:

Установка триггеров для более низкой температуры

Измените температуру активации триггеров в вашем конфигурационном файле. Установите нижние значения для температуры, чтобы активировать систему охлаждения заранее. Для примера, вы можете использовать:

<TripPoint>
    <SensorType>x86_pkg_temp</SensorType>
    <Temperature>75000</Temperature> <!-- 75°C вместо 55°C -->
    <type>passive</type>
    <ControlType>PARALLEL</ControlType>
    <CoolingDevice>
        <index>1</index>
        <type>intel_powerclamp</type>
        <influence>75</influence> <!-- Увеличение влияния -->
        <SamplingPeriod>5</SamplingPeriod>
    </CoolingDevice>
</TripPoint>

Активация нескольких охладительных устройств

Добавьте в конфигурацию дополнительные устройства охлаждения, чтобы повысить эффективность системы:

<CoolingDevice>
    <index>0</index>
    <type>Fan</type>
    <influence>100</influence>
    <SamplingPeriod>10</SamplingPeriod>
</CoolingDevice>

3. Минимальная версия обновленного файла конфигурации

Ваш обновленный файл /etc/thermald/thermal-conf.xml может выглядеть примерно так:

<?xml version="1.0"?>
<ThermalConfiguration>
    <Platform>
        <Name>Intel i7 Laptop</Name>
        <ProductName>*</ProductName>
        <Preference>QUIET</Preference>
        <ThermalZones>
            <ThermalZone>
                <Type>cpu</Type>
                <TripPoints>
                    <TripPoint>
                        <SensorType>x86_pkg_temp</SensorType>
                        <Temperature>75000</Temperature>
                        <type>passive</type>
                        <ControlType>PARALLEL</ControlType>
                        <CoolingDevice>
                            <index>0</index>
                            <type>Fan</type>
                            <influence>100</influence>
                            <SamplingPeriod>10</SamplingPeriod>
                        </CoolingDevice>
                        <CoolingDevice>
                            <index>1</index>
                            <type>intel_powerclamp</type>
                            <influence>75</influence>
                            <SamplingPeriod>5</SamplingPeriod>
                        </CoolingDevice>
                    </TripPoint>
                </TripPoints>
            </ThermalZone>
        </ThermalZones>
    </Platform>
</ThermalConfiguration>

4. Проверка и тестирование

После сохранения изменений выполните перезапуск демона с помощью следующей команды:

sudo systemctl restart thermald

Затем протестируйте настройки с помощью инструментов мониторинга, таких как Vitals для GNOME, чтобы визуально контролировать температуру и скорость вентилятора. Вы также можете использовать утилиту stress для проверки температуры процессора под нагрузкой.

Заключение

Оптимизация thermald не заканчивается на редактировании конфигурации. Рекомендуется следить за производительностью системы в режиме реального времени и при необходимости вносить дополнительные коррективы в настройки. Не забывайте, что каждый аппаратный комплект уникален, и подходы, которые работают для одной системы, могут не подойти для другой.

Оцените материал
Добавить комментарий

Капча загружается...