Вопрос или проблема
Я использую thermald, чтобы предотвратить перегрев моего Surface Pro 7, используя драйвер intel powercap rapl (rapl_controller в thermald). Я также хотел бы использовать тот же драйвер rapl, чтобы снизить расход энергии при работе от батареи, но я не могу найти способ сделать это, кроме как копировать и вставлять в терминал каждый раз:
sudo systemctl stop thermald && sudo powercap-set intel-rapl -z 0 -c 0 -l 5000000 -s 12000000 && sudo powercap-set intel-rapl-mmio -z 0 -c 0 -l 5000000 -s 12000000
Есть ли способ заставить thermald изменить TargetState для rapl_controller на 5000000 при работе от батареи?
Вот мой текущий thermal-conf.xml для справки:
<ThermalConfiguration>
<Platform>
<Name>Surface Pro Intel Thermal Workaround</Name>
<ProductName>*</ProductName>
<Preference>QUIET</Preference>
<PPCC>
<PowerLimitMaximum>16750</PowerLimitMaximum> <!-- милливатты -->
<PowerLimitMinimum>4000</PowerLimitMinimum>
<TimeWindowMinimum>12000</TimeWindowMinimum> <!-- миллисекунды -->
<TimeWindowMaximum>12000</TimeWindowMaximum>
</PPCC>
<ThermalZones>
<ThermalZone>
<Type>cpu</Type>
<TripPoints>
<TripPoint>
<SensorType>x86_pkg_temp</SensorType>
<Temperature>67000</Temperature> <!-- тысячные части ºc -->
<type>пассивный</type>
<ControlType>SEQUENTIAL</ControlType>
<CoolingDevice>
<index>1</index>
<type>rapl_controller</type>
<SamplingPeriod>1</SamplingPeriod>
<TargetState>12750000</TargetState> <!-- microwatts -->
</CoolingDevice>
</TripPoint>
</TripPoints>
</ThermalZone>
</ThermalZones>
</Platform>
</ThermalConfiguration>
Ответ или решение
Современные устройства, такие как Surface Pro 7, обеспечивают значительную производительность, но также требуют эффективного управления теплом и энергопотреблением, особенно при смене источника питания — от сети (AC) к батарее. Используя thermald с драйвером intel powercap rapl, вы можете оперативно регулировать параметры энергопотребления вашего устройства на основании его температуры и других факторов. В этой статье мы рассмотрим, как настраивать различные термальные параметры для работы от батареи и сети.
Управление термическими настройками в thermald
Структура вашего thermal-conf.xml
Представленный вами файл конфигурации thermal-conf.xml содержит нужные элементы для настройки управления теплом. Однако, чтобы добиться автоматизации регулировки TargetState
для rapl_controller
в зависимости от источника питания, необходимо внести некоторые изменения.
Внедрение условия для разных состояний питания
Для того чтобы thermald автоматически изменял состояние целевой мощности (TargetState) в зависимости от того, подключено ли устройство к сети или работает от батареи, вам нужно внести изменения в конфигурацию thermald. Можно использовать комбинацию триггеров и скриптов.
Предложенное решение
-
Добавление триггеров (triggers) в конфигурацию thermald:
Вы можете использовать секцию<Trigger>
для мониторинга состояния аккумулятора. Например, добавьте следующий код в ваш thermal-conf.xml:<Triggers> <Trigger> <Type>battery</Type> <Action> <CoolingDevice> <index>1</index> <type>rapl_controller</type> <TargetState>5000000</TargetState> </CoolingDevice> </Action> </Trigger> <Trigger> <Type>ac</Type> <Action> <CoolingDevice> <index>1</index> <type>rapl_controller</type> <TargetState>12750000</TargetState> </CoolingDevice> </Action> </Trigger> </Triggers>
-
Организация правильного уровня прав:
Убедитесь, что thermald запущен с достаточными привилегиями, чтобы изменять настройки powercap. Обычно для этого используетсяsudo
в командной строке. -
Проверка и тестирование:
После внесения изменений перезапустите thermald:sudo systemctl restart thermald
Затем протестируйте поведение устройства, переключая его между состоянием питания от сети и от батареи. Убедитесь, что target state изменяется корректно.
Заключение
Использование thermald для автоматической настройки целевого состояния RAPL контроллера в зависимости от источника питания — это эффективный способ снижения энергопотребления и предотвращения перегрева вашего Surface Pro 7. Важно помнить, что любые изменения в konfiguratsii должны быть тщательно протестированы, чтобы гарантировать надежность работы устройства как в режиме зарядки, так и в режиме автономной работы. Воспользуйтесь предложенными рекомендациями, и ваше устройство будет работать оптимально в любых условиях.
Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за более детальной поддержкой.