Зупиніть процесор від перегріву


11

Під час запуску таких інтенсивних програм, як блендер, мій процесор може отримати до 80. Я можу вручну розігнати процесор з BIOS, але я хотів би, щоб мій ПК виявив, коли темп процесора стає занадто високим і сповільнить речі, поки все не охолоне. Чи є спосіб зробити це автоматичним чи навіть ручним способом уповільнити процесор від ubuntu


2
Це схоже на запит на функцію для Blender тим часом. Ви можете вручну використовувати програму Governor Performance і зупиняти програми вручну за допомогою монітора системи.
користувачDepth

Відповіді:


11

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

З ( wiki.debian.org -thermald ) є написання Debian (Ubuntu) про thermdDDemon Linux для охолодження планшетів і ноутбуків. Це працює лише для Sandy Bridge (2-е покоління) та новіших Intel Core. Коли температура системи досягне певного порогу, демон Linux активує різні способи охолодження, щоб спробувати охолодити систему.

Тепловий демон Linux (thermod) відстежує та контролює температуру на ноутбуках, планшетних ПК із останнім піщаним мостом Intel та останніми випусками процесорів Intel. Коли температура системи досягне певного порогу, демон Linux активує різні способи охолодження, щоб спробувати охолодити систему.

Він працює в двох режимах:

Нульовий режим конфігурації

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

Режим налаштування, визначений користувачем

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

Як встановити

apt-get install thermald

TLP

Від Arch Linux :

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

Прочитайте повне посилання TLP Arch Linux вище. Існують проблеми з Nvidia, які потребують змін конфігурації.

Після багатьох випробувань та помилок з іншими пакетами я мав великий успіх у використанні TLP. Це забезпечує чудовий контроль вентилятора і працює безперешкодно з термоелектричними та p-станами .

Оскільки в цій інструкції по встановленню для Ubuntu 15.04+ згадується TLP, не тільки зменшується перегрів, але й продовжується термін служби акумулятора.

З моменту встановлення TLP, Powerclamp (описаний нижче) більше ніколи не викликався.


Intel Powerclamp

Тут визначений драйвер Powerclamp Intel ( kernel.org - Intel Power Clamp.txt ) і є частиною описаного вище thermd . Пряма цитата на Powerclamp за посиланням:

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

В даний час P-держави, T-стани (тактова модуляція) та офлайн процесора використовуються для прискорення процесора.

На процесорних процесорах Intel країни C забезпечують ефективне зниження енергії, але поки що вони використовуються лише умовно-опортуністично на основі навантаження. З розвитком драйвера intel_powerclamp було введено метод синхронізації введення холостого ходу у всіх потоках онлайн-процесора. Мета полягає у досягненні вимушеного та контрольованого місця проживання C.

Тест / аналіз проводився у сферах потужності, продуктивності, масштабованості та досвіду користувачів. У багатьох випадках очевидна перевага проявляється в режимі офлайн або модуляції тактової частоти процесора.


Як ви знаєте, що 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ви знаєте, що це працює і просто темпи очікування перевищують 85С.


Powerclamp у дії, показаному Конкі

Ось знімок екрана, коли Powerclamp вводить цикли сну:

Kidie Ін'єкція

Зазвичай у цій системі тактова частота процесора становить 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 драйвер працює до тих пір , поки темпи знову опускається нижче 85 ° С . Поки драйвер працює, можливо, ви розділили другу паузу у своїх відео та, можливо, розділити другу затримку клавіатури та миші.


Відключити 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

Короткострокове виправлення в цьому сценарії

Щоб "вирішити цю проблему", я витягнув з шафи старий накладку для охолодження ноутбука з подвійними вентиляторами і засунувся під ноутбук. Це знизило темп до 63С при однаковому навантаженні.

Наступним кроком буде стискання повітря у вентиляційних отворах. Після цього завершальним кроком стане новий Cooling Heatsink з трубами для CPU та GPU. Хороша термічна паста, така як Arctic Silver 5, також потрібна для цієї операції. Новий вентилятор був уже встановлений минулого року, і це, здається, працює нормально.

Оновлення 25 січня 2017 року

Здуйте вентиляційні отвори зі стисненим повітрям і темпери знизилися з 63С до 56С. Це все ще використовує ноутбук, охолоджуючи панель.

Оновити 06 серпня 2017 року

Використовуєте TLP(описано вище) вже багато місяців, і температура стабільна близько 50 ° C, а продуктивність вентилятора є оптимальною.


Слідкуйте за занадто великою кількістю драйверів управління вентиляторами

Оскільки це Dell, я встановив монітор / управління вентилятором I8K з надією, що він швидше та швидше пришвидшить вентилятор. Коли я набираю, 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 мені довелося вказати третю температуру, не відображену на цьому екрані. Для перегляду дійсних темп можна скористатися цією командою:

$ 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модуль / драйвер ядра. Коли я google, що драйвер і I8Kлюди повідомляють, що два драйвери спричиняють застигання системи на частку секунди кожні 10 секунд або близько того. У мене була ця проблема сама, тому довелося зняти управління вентилятором I8K .

Існує багато інших утиліт та методологій охолодження, але це стає TL; DR .


Вау, це цілком відповідь. Тут багато цікавих речей.
Qwertie

Я встановив thermd, але як запустити powerclamp? Він працює за замовчуванням? яку температуру намагається не перевершити?

@cipricus При використанні: $ lsmod | grep powerви повинні побачити це: intel_powerclamp 16384 0. Якщо ні, то Powerclamp чомусь може потрапити в чорний список. Порогова температура становить 85 ° C, але я думаю, ви можете змінити. Дивіться: bugs.launchpad.net/ubuntu/+source/linux/+bug/1389077
WinEunuuchs2Unix

4

Я створив програму саме для цієї проблеми. Обмежте свій процесор залежно від потрібної температури. Він працює так:

sudo ./temp_throttle.sh 80

Ця команда змусить ваші процесорні ядра сповільнюватися, коли вони досягнуть 80 градусів Цельсія. Коли температура знизиться, ядра CPU дозволять знову працювати швидше. Ви можете знайти temp_throttle тут .


Щоб запустити основний скрипт при запуску з sudo та ввести пароль у gnome-terminal, можна створити невеликий сценарій:

#!/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-терміналу, який називається "утримувати", який повинен бути вже створений за допомогою параметра "Коли команда закінчується: Тримайте термінал відкритим", --hide-menubarприховує меню для цього вікна)

Зробивши його виконуваним, цей невеликий скрипт (назвемо його temp_throttle_80.sh) потім може бути доданий до списку запуску, і вам буде запропоновано ввести пароль при запуску; тоді, якщо досягнута згадана температура, повідомляється про її дію:

введіть тут опис зображення


1
Гарний сценарій. Я також створив сценарій, щоб укласти ПК у режим сну, коли він досягає максимальної температури. посилання
kenn

Це чудова відповідь і працює в 16.04


Сценарії, які потребують sudoповноважень, я вкладаю, cronвикористовуючи rebootпараметри. Таким чином, не потрібно вводити пароль під час завантаження. Є й інші способи зробити це, але мені було найпростіше налаштувати cron .
WinEunuuchs2Unix

FYI відповідь, яку я розмістив на Intel Powerclamp, пригнічує задній процесор на найменшу швидкість. Однак він також вводить непрацюючі стани, щоб змусити процесор нічого не робити. Я думаю, що ваш сценарій чудовий, але ви, можливо, захочете знати, що робить Intel. Я вважаю, що це відкритий код, і ви можете його вивчити, якщо вам це цікаво.
WinEunuuchs2Unix

1

ви можете обмежити частоту процесора, щоб ви могли знизити частоту, і він може керувати нагріванням від процесора.

cpufreq-selector -f <mention the frq u want in the Khz>

Це постійне чи повернеться після перезавантаження?
Qwertie

це фіксований набір, і якщо ви хочете змінити його, вам знову доведеться.
rɑːdʒɑ

Вам потрібно встановити gnome-appletsдля цього роботу
kiri

@ minerz029 це команда терміналу мій друг.
rɑːdʒɑ

1
@rajagenupula Я отримую команду не знайдено помилкиThe program 'cpufreq-selector' is currently not installed. You can install it by typing: sudo apt-get install gnome-applets
kiri
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.