Zatrzymaj procesor przed przegrzaniem

11

Podczas uruchamiania intensywnych aplikacji, takich jak blender, mój procesor może uzyskać do 80.CI może ręcznie podkręcić procesor z BIOS-u, ale chciałbym, aby mój komputer wykrył, gdy temperatura procesora staje się zbyt wysoka i spowalniał rzeczy, aż wszystko ostygnie. Czy jest sposób na to, aby zrobić to automatycznie, a nawet ręcznie, aby spowolnić procesor z Ubuntu

Qwertie
źródło
2
Tymczasem wygląda to na prośbę o dodanie Blendera. Możesz ręcznie używać programu Performance Governor i ręcznie zatrzymywać aplikacje na monitorze systemu.
userDepth

Odpowiedzi:

11

Rozwiązanie Intel Ubuntu 16.04+ dla Sandy Bridge i nowszych procesorów

Z ( wiki.debian.org -thermald ) jest napisane przez Debiana (Ubuntu) o daemonie Linux na thermald dla chłodzenia tabletów i laptopów. Działa to tylko w przypadku Sandy Bridge (2. generacji) i nowszych rdzeni Intel. Gdy temperatura systemu osiągnie określony próg, demon Linux aktywuje różne metody chłodzenia, aby spróbować schłodzić system.

Linux Thermal Daemon (thermald) monitoruje i kontroluje temperaturę w laptopach, tabletach PC z najnowszym piaskowym mostem Intela i najnowszymi wersjami procesorów Intel. Gdy temperatura systemu osiągnie określony próg, demon Linux aktywuje różne metody chłodzenia, aby spróbować schłodzić system.

Działa w dwóch trybach:

Tryb zerowej konfiguracji

  • Dla większości użytkowników powinno to wystarczyć, aby kontrolować temperaturę procesora w systemie. Wykorzystuje on czujnik temperatury DTS i wykorzystuje sterownik stanu Intel P, sterownik zacisku zasilania, kontrolę limitu średniej mocy roboczej i cpufreq jako metody chłodzenia.

Tryb konfiguracji zdefiniowany przez użytkownika

  • Umożliwia to konfigurację stylu ACPI w termicznym pliku konfiguracyjnym XML. Można to wykorzystać do naprawy błędnej konfiguracji ACPI lub dostrajania poprzez dodanie większej liczby czujników i urządzeń chłodzących. Jest to pierwszy krok we wdrażaniu kontroli termicznej w zamkniętej pętli w trybie użytkownika i można go ulepszyć w oparciu o opinie i sugestie społeczności.

Jak zainstalować

apt-get install thermald

TLP

Z Arch Linux :

TLP zapewnia korzyści płynące z zaawansowanego zarządzania energią dla systemu Linux bez konieczności rozumienia wszystkich szczegółów technicznych. TLP ma domyślną konfigurację zoptymalizowaną pod kątem żywotności baterii, więc możesz ją po prostu zainstalować i zapomnieć. Niemniej jednak TLP można w dużym stopniu dostosować do własnych wymagań.

Przeczytaj pełny link TLP Arch Linux powyżej. Istnieją problemy z Nvidią, które wymagają zmian w konfiguracji.

Po wielu próbach i błędach z innymi pakietami odniosłem wielki sukces przy użyciu TLP. Zapewnia doskonałą kontrolę wentylatora i bezproblemowo współpracuje z termaldem i stanami p .

Ponieważ w tych instrukcjach instalacji dla Ubuntu 15.04+ wspomniano, że TLP nie tylko zmniejsza przegrzanie, ale także wydłuża żywotność baterii.

Od czasu zainstalowania TLP Powerclamp (opisany poniżej) nigdy więcej nie został wywołany.


Intel Powerclamp

Sterownik Intel Powerclamp został zdefiniowany tutaj ( kernel.org - Intel Power Clamp.txt ) i jest częścią opisanego powyżej thermald . Bezpośredni cytat dla Powerclamp z linku:

Rozważ sytuację, w której zużycie energii w systemie musi zostać zmniejszone w czasie wykonywania, ze względu na budżet mocy, ograniczenie termiczne lub poziom hałasu, i gdy aktywne chłodzenie nie jest preferowane. Należy zarządzać programowo pasywną redukcję mocy, aby zapobiec działaniom sprzętowym zaprojektowanym do katastroficznych scenariuszy.

Obecnie do dławienia procesora wykorzystywane są stany P, stany T (modulacja zegara) i wyłączanie procesora.

W procesorach Intel stany C zapewniają efektywną redukcję mocy, ale do tej pory są używane tylko oportunistycznie, w zależności od obciążenia. Wraz z opracowaniem sterownika intel_powerclamp wprowadzono metodę synchronizacji bezczynności wtrysku we wszystkich wątkach procesora online. Celem jest osiągnięcie wymuszonej i kontrolowanej rezydencji w stanie C.

Testy / analizy zostały wykonane w obszarach mocy, wydajności, skalowalności i doświadczenia użytkownika. W wielu przypadkach widać wyraźną przewagę nad przełączeniem procesora w tryb offline lub modulowaniem zegara procesora.


Skąd wiesz, że Powerclamp działa?

Powerclamp może pojawiać się tylko raz w roku, gdy otwory wentylatora dostaną zbyt dużo kurzu i włókien. Więc skąd wiesz, że tak naprawdę działa w tle? Posługiwać się:

lsmod | grep intel

Powinieneś zobaczyć listę podobną do tej:

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

Jeśli widzisz intel_rapli intel_powerclampwiesz, że działa i po prostu czeka, aż temperatura przekroczy 85 ° C.


Powerclamp w akcji wyświetlany przez Conky

Oto zrzut ekranu, gdy Powerclamp wstrzykuje cykle snu:

Zastrzyk dla dzieci

Zwykle w tym systemie szybkość zegara procesora wynosi 2400 MHz do 3400 MHz podczas oglądania wideo HTML5 i otwartych 10 kart Chrome. Zwykle wykorzystanie procesora wynosi od 9% do 12% w 8 procesorach. Kiedy robi się za gorąco ( 86C ) włącza się Powerclamp i dzieje się tak:

  • Szybkość procesora jest zmniejszona do 1200 MHz.
  • Skok wykorzystania procesora do 80%. Jest to mylące, ponieważ dodatkowe 70% to czas snu.
  • 9 najlepszych procesów CPU to zwykle 5 lub 6 procesów Chrome, a także Xorg, Conky, Pulse Audio i okazjonalnie kworker. Jednak teraz 8 z 10 najlepszych to proces kidle_inject / x , gdzie xjest od 0 do 7. Dla pierwszych 8 procesorów.

Sterownik Powerclamp działa, dopóki temperatura nie spadnie ponownie poniżej 85 ° C. Gdy sterownik jest uruchomiony, być może ułamek sekundy zatrzymał się w twoich filmach i być może ułamek sekundy opóźnienia klawiatury i myszy.


Wyłącz Intel Turbo Boost

W „fajnych starych czasach” Ubuntu 14.04 Intel Turbo Boost został zepsuty, więc moja prędkość procesora wahała się między 1200 MHz a 2400 MHz. Po aktualizacji do Ubuntu 16.04 zwiększyłoby się do 3400 MHz (3,4 Ghz), ponieważ Turbo Boost w końcu działało. Ale podniosło także ciepło.

Aby wyłączyć Intel Turbo Boost, użyj:

echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo

Krótkoterminowa poprawka w tym scenariuszu

Aby „pomóc zespołowi” rozwiązać ten problem, wyciągnąłem starą podkładkę chłodzącą laptopa z dwoma wentylatorami z szafy i wsunąłem pod laptop. To spadło temps do 63 ° C przy tym samym obciążeniu.

Następnym krokiem będzie sprężanie powietrza w otworach wentylacyjnych. Następnie ostatnim krokiem będzie nowy radiator chłodzący z rurami do procesora i karty graficznej. W tej operacji potrzebna jest również dobra pasta termiczna, taka jak Arctic Silver 5. Nowy wentylator został już zainstalowany w zeszłym roku i wydaje się, że działa dobrze.

Zaktualizuj 25 stycznia 2017 r

Wydmuchiwane otwory wentylacyjne sprężonym powietrzem i temperaturami spadły z 63 ° C do 56 ° C. Nadal korzysta z podkładki chłodzącej laptopa.

Zaktualizuj 06 sierpnia 2017

Używam TLP(opisano powyżej) od wielu miesięcy, a temperatura utrzymuje się na stałym poziomie około 50 ° C, a wydajność wentylatora jest optymalna.


Uważaj na zbyt wiele sterowników sterowania wentylatorem

Ponieważ jest to Dell, zainstalowałem I8K Fan Monitor / Control w nadziei, że przyspieszy to szybciej i szybciej. Kiedy piszę sensors, otrzymuję:

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

Zignoruj ​​wirtualnych tempsów, są na lunchu . Pod Ubuntu 14.04 były dokładne i użyłemtemp 1w Conky. Po aktualizacji Ubuntu 16.04 musiałem odnieść się do trzeciej temperatury nie wyświetlanej na tym ekranie. Aby zobaczyć PRAWDZIWE szablony, możesz użyć tego polecenia:

$ cat /sys/class/thermal/thermal_zone*/temp
27800
29800
62000

Kiedy piszę:

$ 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

Widzę dell_smm_hwmonmoduł / sterownik jądra. Kiedy google, ten sterownik i I8Kludzie zgłaszają, że dwa sterowniki powodują zawieszanie się systemu na ułamek sekundy co około 10 sekund. Sam miałem ten problem, więc musiałem usunąć sterowanie wentylatorem I8K .

Istnieje wiele innych narzędzi i metodologii chłodzenia, ale dostaje się TL; DR .

WinEunuuchs2Unix
źródło
Wow, to całkiem odpowiedź. Tutaj jest mnóstwo fajnych rzeczy.
Qwertie,
Mam zainstalowany Thermald, ale jak uruchomić PowerClamp? Czy działa domyślnie? jaka temperatura stara się nie przekroczyć?
@cipricus Podczas korzystania: $ lsmod | grep powerpowinieneś zobaczyć to: intel_powerclamp 16384 0. Jeśli nie, Powerclamp może z jakiegoś powodu znaleźć się na czarnej liście. Temperatura progowa wynosi 85 ° C, ale myślę, że możesz ją zmienić. Zobacz: bugs.launchpad.net/ubuntu/+source/linux/+bug/1389077
WinEunuuchs2Unix
4

Stworzyłem program tylko dla tego problemu. Ogranicz procesor w oparciu o pożądaną temperaturę. Działa tak:

sudo ./temp_throttle.sh 80

To polecenie spowoduje zwolnienie rdzeni procesora, gdy osiągną 80 stopni Celsjusza. Gdy temperatura spadnie, rdzenie procesora będą mogły znów działać szybciej. Tutaj znajdziesz temp_throttle .


Aby uruchomić główny skrypt podczas uruchamiania z sudo i wprowadzić hasło w gnome-terminal, można utworzyć mały skrypt:

#!/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=45x15otwiera mały ekran terminala; --profile=holdużywa profilu terminal-gnome o nazwie „wstrzymaj”, który musi zostać już utworzony z opcją „Po zakończeniu komendy: przytrzymaj terminal otwarty”, --hide-menubarukrywa menu tego okna)

Po uczynieniu go wykonywalnym ten mały skrypt (nazwijmy go temp_throttle_80.sh) można następnie dodać do listy startowej, a podczas uruchamiania pojawi się monit o podanie hasła; wówczas, gdy wspomniana temperatura zostanie osiągnięta, raportowane jest jej działanie:

wprowadź opis zdjęcia tutaj

Sepero
źródło
1
Niezły scenariusz. Zrobiłem również skrypt, aby uśpić komputer, gdy osiągnie maksymalną temperaturę. link
kenn
To świetna odpowiedź i działa w 16.04
Skrypty, które wymagają sudouprawnień, które wykorzystuję cronprzy użyciu rebootopcji. W ten sposób nie trzeba wpisywać hasła przy uruchamianiu. Są na to inne sposoby, ale konfiguracja crona była dla mnie najłatwiejsza.
WinEunuuchs2Unix
FYI odpowiedź, którą opublikowałem na Intel Powerclamp, ogranicza procesor z powrotem do najniższej prędkości. Jednak wstrzykuje również stany bezczynności, aby procesor nic nie robił. Myślę, że twój skrypt jest świetny, ale możesz chcieć wiedzieć, co robi Intel. Uważam, że jest to oprogramowanie typu open source i możesz je studiować, jeśli jesteś zainteresowany.
WinEunuuchs2Unix
1

możesz ograniczyć częstotliwość procesora, aby obniżyć częstotliwość i kontrolować ciepło z procesora.

cpufreq-selector -f <mention the frq u want in the Khz>
rɑːdʒɑ
źródło
Czy to jest trwałe, czy wróci po ponownym uruchomieniu?
Qwertie,
jest to stały zestaw i jeśli chcesz go zmodyfikować, znowu musisz.
rɑːdʒɑ
Aby gnome-appletsto zadziałało, musisz zainstalować
kiri,
@ minerz029 to polecenie terminalu, mój przyjacielu.
rɑːdʒɑ
1
@rajagenupula Dostaję błąd nie znaleziono poleceniaThe program 'cpufreq-selector' is currently not installed. You can install it by typing: sudo apt-get install gnome-applets
kiri