При запуске интенсивных приложений, таких как блендер, мой процессор может достигать 80. Я могу вручную разогнать процессор из BIOS, но я бы хотел, чтобы мой компьютер определял, когда температура процессора становится слишком высокой, и замедляет процесс, пока все не остынет. , Есть ли способ сделать это автоматически или даже вручную, чтобы замедлить процессор из Ubuntu
Из ( wiki.debian.org -thermald ) есть записи Debian (Ubuntu) о thermald Демон Linux для охлаждения планшетов и ноутбуков. Это работает только для Sandy Bridge (2-го поколения) и более новых Intel Cores. Как только температура системы достигает определенного порога, демон Linux активирует различные методы охлаждения, чтобы попытаться охладить систему.
Linux thermal daemon (thermald) отслеживает и контролирует температуру в ноутбуках, планшетах ПК с последними версиями Intel Sandy Bridge и новейшими версиями процессоров Intel. Как только температура системы достигает определенного порога, демон Linux активирует различные методы охлаждения, чтобы попытаться охладить систему.
Он работает в двух режимах:
apt-get install thermald
Из Arch Linux :
TLP приносит вам преимущества расширенного управления питанием для Linux без необходимости разбираться во всех технических деталях. TLP поставляется с конфигурацией по умолчанию, уже оптимизированной для работы от батареи, так что вы можете просто установить ее и забыть о ней. Тем не менее, TLP легко настраивается в соответствии с вашими требованиями.
Пожалуйста, прочитайте полную ссылку Arch Linux TLP выше. Есть проблемы с Nvidia, которые требуют изменения конфигурации.
После многих проб и ошибок с другими пакетами, я имел большой успех, используя TLP. Он обеспечивает превосходное управление вентилятором и бесперебойно работает с Thermald и p-состояниями .
В этих инструкциях по установке для Ubuntu 15.04+ упоминается, что TLP не только снижает перегрев, но и продлевает срок службы батареи.
С момента установки TLP, Powerclamp (описанный ниже) больше никогда не вызывался.
Драйвер Intel Powerclamp Intel определен здесь ( kernel.org - Intel Power Clamp.txt ) и является частью Thermald , описанного выше. Прямая цитата для Powerclamp по ссылке:
Рассмотрим ситуацию, когда энергопотребление системы должно быть уменьшено во время работы из-за энергетического баланса, тепловых ограничений или уровня шума, и где активное охлаждение не является предпочтительным. Программно управляемое пассивное снижение мощности должно выполняться для предотвращения действий оборудования, разработанных для катастрофических сценариев.
В настоящее время P-состояния, T-состояния (тактовая модуляция) и выделение ЦП используются для регулирования ЦП.
В процессорах Intel C-состояния обеспечивают эффективное снижение энергопотребления, но пока они используются только условно, исходя из рабочей нагрузки. С разработкой драйвера intel_powerclamp был введен метод синхронизации впрыска вхолостую во всех потоковых процессорах. Цель состоит в том, чтобы добиться принудительного и контролируемого проживания в С-государстве.
Тестирование / анализ проводились в области мощности, производительности, масштабируемости и удобства работы пользователей. Во многих случаях явное преимущество проявляется в отключении процессора или модуляции тактовой частоты процессора.
Powerclamp может появляться только один раз в год, когда на ваших вентиляционных отверстиях слишком много пыли и тока. ворс. Итак, как вы узнаете, что это на самом деле работает в фоновом режиме? Используйте:
lsmod | grep intel
И вы должны увидеть список, подобный следующему:
btintel 16384 1 btusb
bluetooth 520192 29 bnep,btbcm,btrtl,btusb,rfcomm,btintel
intel_rapl 20480 0
intel_powerclamp 16384 0
(.... more intel drivers ....)
snd 81920 18 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_idt,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_seq_device
Если вы видите intel_rapl
и intel_powerclamp
, вы знаете, что это работает и просто ожидает превышения временных температур 85C. [тысяча сто шестьдесят девять]
Вот снимок экрана, когда Powerclamp вводит циклы сна:
Обычно в этой системе тактовая частота процессора составляет от 2400 МГц до 3400 МГц при просмотре видео HTML5 и открыты 10 вкладок Chrome. Обычно загрузка процессора составляет около 9-12% на 8 процессорах. Когда становится слишком жарко ( 86C ) Включается Powerclamp , и это происходит:
x
- от 0 до 7. Для первых 8 процессоров. Драйвер Powerclamp работает до тех пор, пока температура снова не опустится ниже 85C. Во время работы драйвера вы могли бы сделать паузу в несколько секунд в ваших видео и, возможно, разделить секунду задержки клавиатуры и мыши.
Еще в «крутые старые времена» Ubuntu 14.04 Intel Turbo Boost был сломан, поэтому частота моего процессора колебалась между 1200 МГц и 2400 МГц. После обновления до Ubuntu 16.04 он увеличился до 3400 МГц (3,4 ГГц), потому что Turbo Boost наконец заработал. Но это также подняло жару.
Чтобы отключить Intel Turbo Boost, используйте:
echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
Чтобы «исправить» эту проблему, я вытащил старую панель охлаждения ноутбука с двумя вентиляторами из шкафа и выскочил под ноутбук. Это снизило температуру до 63C при той же рабочей нагрузке.
Следующим шагом будет сжатие воздуха в вентиляционных отверстиях. После этого последним этапом станет новый радиатор охлаждения с трубами для CPU и GPU. Хорошая термопаста, такая как Arctic Silver 5, также необходима для этой операции. Новый вентилятор уже был установлен в прошлом году, и, похоже, он работает нормально.
Продуйте вентиляционные отверстия вентилятора сжатым воздухом и температура снизится с 63 ° C до 56 ° C. Имейте в виду, что все еще используется охлаждающая подставка для ноутбука.
Уже много месяцев используется TLP
(описано выше), температура стабильна около 50 ° C, а производительность вентилятора является оптимальной.
Поскольку это Dell, я установил I8K Fan Monitor / Control в надежде, что он ускорит вентилятор быстрее и быстрее. Когда я набираю sensors
, я получаю:
$ sensors
dell_smm-virtual-0
Adapter: Virtual device
Processor Fan: 3963 RPM
CPU: +63.0°C
Ambient: +49.0°C
GPU: +54.0°C
Other: +79.0°C
acpitz-virtual-0
Adapter: Virtual device
temp1: +27.8°C (crit = +106.0°C)
temp2: +29.8°C (crit = +106.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +65.0°C (high = +87.0°C, crit = +105.0°C)
Core 0: +65.0°C (high = +87.0°C, crit = +105.0°C)
Core 1: +64.0°C (high = +87.0°C, crit = +105.0°C)
Core 2: +63.0°C (high = +87.0°C, crit = +105.0°C)
Core 3: +57.0°C (high = +87.0°C, crit = +105.0°C)
Игнорировать виртуальные временные значения, они выходят на обед . Под Ubuntu 14.04 они были точными, и я использовал temp 1
на дисплее Conky. После обновления Ubuntu 16.04 мне пришлось обратиться к третьей температуре, не отображаемой на этом экране. Чтобы увидеть временные значения REAL , вы можете использовать эту команду:
$ cat /sys/class/thermal/thermal_zone*/temp
27800
29800
62000
Когда я набираю:
$ lsmod |grep dell
dell_wmi 16384 0
sparse_keymap 16384 1 dell_wmi
dell_laptop 20480 0
dell_smbios 16384 2 dell_wmi,dell_laptop
dcdbas 16384 1 dell_smbios
dell_smm_hwmon 16384 0
wmi 16384 1 dell_wmi
video 40960 3 dell_wmi,dell_laptop,i915
, я вижу модуль / драйвер ядра dell_smm_hwmon
. Когда я гуглю этот драйвер и I8K
люди сообщают, что два драйвера вызывают зависание системы на доли секунды каждые 10 секунд или около того. Я сам столкнулся с этой проблемой, поэтому пришлось удалить I8K control fan .
Есть много других утилит и методологий охлаждения, но это получает TL; DR .
Я создал программу только для этой проблемы. Ограничьте ваш процессор на основе желаемой температуры. Она работает так:
sudo ./temp_throttle.sh 80
Эта команда замедлит работу ядер вашего процессора, когда они достигнут 80 градусов Цельсия. Когда температура понизится, процессорные ядра снова смогут работать быстрее. Вы можете найти temp_throttle здесь .
Чтобы запустить основной скрипт при запуске с помощью sudo и ввести пароль в gnome-терминал, можно создать небольшой скрипт:
#!/bin/bash
cd "/path/to/the/directory/temp-throttle-stable/"
gnome-terminal -e 'sudo ./temp_throttle.sh 80' --geometry=45x15 --hide-menubar --profile=hold
(--geometry=45x15
открывает маленький экран терминала; --profile=hold
использует профиль терминала gnome, называемый «hold», который уже должен быть создан с опцией «Когда команда выходит: держать терминал открытым», --hide-menubar
скрывает меню для этого окна)
После сделав его исполняемым, этот небольшой скрипт (назовем его temp_throttle_80.sh
) можно затем добавить в список автозагрузки, и вам будет предложено ввести пароль при запуске; затем, если упомянутая температура достигнута, сообщается о ее действии:
Вы можете ограничить частоту ЦП, чтобы снизить частоту и контролировать тепло от ЦП.
cpufreq-selector -f <mention the frq u want in the Khz>