Остановить процессор от перегрева

При запуске интенсивных приложений, таких как блендер, мой процессор может достигать 80. Я могу вручную разогнать процессор из BIOS, но я бы хотел, чтобы мой компьютер определял, когда температура процессора становится слишком высокой, и замедляет процесс, пока все не остынет. , Есть ли способ сделать это автоматически или даже вручную, чтобы замедлить процессор из Ubuntu

11
задан 16 December 2013 в 13:25

3 ответа

Решение Intel Ubuntu 16.04+ для Sandy Bridge и более новых процессоров

Из ( wiki.debian.org -thermald ) есть записи Debian (Ubuntu) о thermald Демон Linux для охлаждения планшетов и ноутбуков. Это работает только для Sandy Bridge (2-го поколения) и более новых Intel Cores. Как только температура системы достигает определенного порога, демон Linux активирует различные методы охлаждения, чтобы попытаться охладить систему.

Linux thermal daemon (thermald) отслеживает и контролирует температуру в ноутбуках, планшетах ПК с последними версиями Intel Sandy Bridge и новейшими версиями процессоров Intel. Как только температура системы достигает определенного порога, демон Linux активирует различные методы охлаждения, чтобы попытаться охладить систему.

Он работает в двух режимах:

Режим нулевой конфигурации

  • Для большинства пользователей этого должно быть достаточно, чтобы контролировать температуру процессора системы. При этом используется датчик температуры DTS, а в качестве методов охлаждения используются драйвер состояния Intel P, драйвер ограничителя мощности, контроль ограничения средней мощности и cpufreq.

Пользовательский режим конфигурации

  • Это позволяет конфигурировать стиль ACPI в файле тепловой конфигурации XML. Это может быть использовано для исправления ошибки конфигурации ACPI или точной настройки путем добавления дополнительных датчиков и охлаждающих устройств. Это первый шаг в реализации терморегулирования в замкнутом контуре в пользовательском режиме, который можно улучшить на основе отзывов и предложений сообщества.

Как установить

apt-get install thermald

TLP

Из Arch Linux :

TLP приносит вам преимущества расширенного управления питанием для Linux без необходимости разбираться во всех технических деталях. TLP поставляется с конфигурацией по умолчанию, уже оптимизированной для работы от батареи, так что вы можете просто установить ее и забыть о ней. Тем не менее, TLP легко настраивается в соответствии с вашими требованиями.

Пожалуйста, прочитайте полную ссылку Arch Linux TLP выше. Есть проблемы с Nvidia, которые требуют изменения конфигурации.

После многих проб и ошибок с другими пакетами, я имел большой успех, используя TLP. Он обеспечивает превосходное управление вентилятором и бесперебойно работает с Thermald и p-состояниями .

В этих инструкциях по установке для Ubuntu 15.04+ упоминается, что TLP не только снижает перегрев, но и продлевает срок службы батареи.

С момента установки TLP, Powerclamp (описанный ниже) больше никогда не вызывался.


Intel Powerclamp

Драйвер Intel Powerclamp Intel определен здесь ( kernel.org - Intel Power Clamp.txt ) и является частью Thermald , описанного выше. Прямая цитата для Powerclamp по ссылке:

Рассмотрим ситуацию, когда энергопотребление системы должно быть уменьшено во время работы из-за энергетического баланса, тепловых ограничений или уровня шума, и где активное охлаждение не является предпочтительным. Программно управляемое пассивное снижение мощности должно выполняться для предотвращения действий оборудования, разработанных для катастрофических сценариев.

В настоящее время P-состояния, T-состояния (тактовая модуляция) и выделение ЦП используются для регулирования ЦП.

В процессорах Intel C-состояния обеспечивают эффективное снижение энергопотребления, но пока они используются только условно, исходя из рабочей нагрузки. С разработкой драйвера intel_powerclamp был введен метод синхронизации впрыска вхолостую во всех потоковых процессорах. Цель состоит в том, чтобы добиться принудительного и контролируемого проживания в С-государстве.

Тестирование / анализ проводились в области мощности, производительности, масштабируемости и удобства работы пользователей. Во многих случаях явное преимущество проявляется в отключении процессора или модуляции тактовой частоты процессора.


Откуда вы знаете, что 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 в действии, отображаемый Conky

Вот снимок экрана, когда Powerclamp вводит циклы сна:

Kidie Injection

Обычно в этой системе тактовая частота процессора составляет от 2400 МГц до 3400 МГц при просмотре видео HTML5 и открыты 10 вкладок Chrome. Обычно загрузка процессора составляет около 9-12% на 8 процессорах. Когда становится слишком жарко ( 86C ) Включается Powerclamp , и это происходит:

  • Скорость процессора снижается до 1200 МГц.
  • Загрузка процессора возрастает до 80%. Это вводит в заблуждение, потому что дополнительные 70% - это время сна.
  • В топ-9 процессов ЦП входят, как правило, 5 или 6 процессов Chrome плюс Xorg, Conky, Pulse Audio и случайный kworker. Однако теперь 8 из топ-10 - это процесс kidle_inject / x , где x - от 0 до 7. Для первых 8 процессоров.

Драйвер Powerclamp работает до тех пор, пока температура снова не опустится ниже 85C. Во время работы драйвера вы могли бы сделать паузу в несколько секунд в ваших видео и, возможно, разделить секунду задержки клавиатуры и мыши.


Отключить Intel Turbo Boost

Еще в «крутые старые времена» 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, также необходима для этой операции. Новый вентилятор уже был установлен в прошлом году, и, похоже, он работает нормально.

Обновление от 25 января 2017 г.

Продуйте вентиляционные отверстия вентилятора сжатым воздухом и температура снизится с 63 ° C до 56 ° C. Имейте в виду, что все еще используется охлаждающая подставка для ноутбука.

Обновление от 06 августа 2017 г.

Уже много месяцев используется 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 .

0
ответ дан 16 December 2013 в 13:25

Я создал программу только для этой проблемы. Ограничьте ваш процессор на основе желаемой температуры. Она работает так:

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) можно затем добавить в список автозагрузки, и вам будет предложено ввести пароль при запуске; затем, если упомянутая температура достигнута, сообщается о ее действии:

enter image description here

0
ответ дан 16 December 2013 в 13:25

Вы можете ограничить частоту ЦП, чтобы снизить частоту и контролировать тепло от ЦП.

cpufreq-selector -f <mention the frq u want in the Khz>
0
ответ дан 16 December 2013 в 13:25

Другие вопросы по тегам:

Похожие вопросы: