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

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

3 ответа

Решение

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

Из ( https://wiki.debian.org/thermald) написано описание Debian (Ubuntu) о Thermald A 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. Он обеспечивает превосходное управление вентилятором и бесперебойно работает с тепловыми и р-состояниями.

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

После установки TLP Power clamp (описанный ниже) больше никогда не вызывался.


Intel Power clamp

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

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

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

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

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


Как вы знаете, Power clamp работает?

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

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.


Power clamp в действии отображается Conky

Вот снимок экрана, когда Power clamp внедряет циклы сна:

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

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

Драйвер Power clamp работает до тех пор, пока температура снова не опустится ниже 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 в конки дисплей. После обновления Ubuntu 16.04 мне пришлось обратиться к третьей температуре, не отображаемой на этом экране. Чтобы увидеть РЕАЛЬНЫЕ температуры, вы можете использовать эту команду:

$ 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.

Есть много других утилит и методологий охлаждения, но они получают 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>
Другие вопросы по тегам