İşlemcinin aşırı ısınmasını durdurun


11

Blender gibi yoğun uygulamalar çalıştırırken CPU'm 80'e kadar çıkabilir. CPU'yu elle BIOS'un altından hızlandırabilirim, ancak her şey soğuyana kadar CPU sıcaklığı çok yükseldiğinde ve yavaşladığında bilgisayarımın algılanmasını istiyorum. CPU'yu ubuntu'dan yavaşlatmanın otomatik veya hatta manuel bir yolu var mı


2
Bu arada Blender için bir özellik isteği gibi görünüyor. Performans Düzenleyicisini manuel olarak kullanabilir ve sistem monitörü ile uygulamaları manuel olarak durdurabilirsiniz.
userDepth

Yanıtlar:


11

Sandy Bridge ve daha yeni işlemciler için Intel Ubuntu 16.04+ çözümü

( Wiki.debian.org -termald ) 'dan Debian'ın (Ubuntu) termald hakkında yazdığı tablet ve dizüstü bilgisayarları soğutmak için bir Linux arka plan programı var. Bu sadece Sandy Bridge (2. nesil) ve daha yeni Intel Cores için geçerlidir. Sistem sıcaklığı belirli bir eşiğe ulaştığında, Linux arka plan programı sistemi soğutmaya çalışmak için çeşitli soğutma yöntemlerini etkinleştirir.

Linux termal arka plan programı (thermald), en yeni Intel kumlu köprüsüne ve en yeni Intel CPU sürümlerine sahip dizüstü bilgisayarlardaki, tablet PC'deki sıcaklığı izler ve kontrol eder. Sistem sıcaklığı belirli bir eşiğe ulaştığında, Linux arka plan programı sistemi soğutmaya çalışmak için çeşitli soğutma yöntemlerini etkinleştirir.

İki modda çalışır:

Sıfır Yapılandırma Modu

  • Çoğu kullanıcı için, bu, sistemin CPU sıcaklığını kontrol altına almak için yeterli olmalıdır. Bu, DTS sıcaklık sensörünü kullanır ve soğutma yöntemleri olarak Intel P durum sürücüsü, Güç kelepçesi sürücüsü, Çalışma Ortalama Güç Sınırı kontrolü ve cpufreq kullanır.

Kullanıcı tanımlı yapılandırma modu

  • Bu, termal XML yapılandırma dosyasında ACPI stili yapılandırmaya izin verir. Bu, buggy ACPI yapılandırmasını düzeltmek veya daha fazla sensör ve soğutma cihazı ekleyerek ince ayar yapmak için kullanılabilir. Bu, kullanıcı modunda yakın döngü termal kontrolünün uygulanmasında ilk adımdır ve topluluk geri bildirimi ve önerileri temel alınarak geliştirilebilir.

Nasıl kurulur

apt-get install thermald

TLP

Gönderen Arch Linux :

TLP, her teknik ayrıntıyı anlamanıza gerek kalmadan Linux için gelişmiş güç yönetiminin avantajlarını sunar. TLP, pil ömrü için zaten optimize edilmiş varsayılan bir yapılandırmayla birlikte gelir, bu yüzden yalnızca yükleyip unutabilirsiniz. Bununla birlikte, TLP özel gereksinimlerinizi karşılamak için son derece özelleştirilebilir.

Lütfen yukarıdaki Arch Linux TLP bağlantısını okuyun. Nvidia ile yapılandırma değişiklikleri gerektiren sorunlar var.

Diğer paketlerle yapılan birçok deneme ve hatadan sonra, TLP'yi kullanarak büyük bir başarı elde ettim. Üstün fan kontrolü sağlar ve thermald ve p-durumları ile sorunsuz çalışır .

Ubuntu 15.04+ için bu kurulum talimatları TLP'den bahsettiğinden, sadece aşırı ısınmayı azaltmakla kalmaz, aynı zamanda pil ömrünü de uzatır.

TLP kurulduğundan beri Powerclamp (aşağıda açıklanmıştır) bir daha çağrılmadı.


Intel Powerclamp

Intel'in Powerclamp sürücüsü burada tanımlanmıştır ( kernel.org - Intel Power Clamp.txt ) ve yukarıda açıklanan thermald'ın bir parçasıdır . Bağlantıdan Powerclamp için doğrudan bir teklif :

Güç bütçesi, termal kısıtlama veya gürültü seviyesi nedeniyle bir sistemin güç tüketiminin çalışma zamanında azaltılması gerektiği ve aktif soğutmanın tercih edilmediği durumu düşünün. Felaket senaryoları için tasarlanmış donanım eylemlerini önlemek için yazılım tarafından yönetilen pasif güç azaltma gerçekleştirilmelidir.

Şu anda, P-durumları, T-durumları (saat modülasyonu) ve CPU devre dışı bırakma CPU kısma için kullanılmaktadır.

Intel CPU'larda, C durumları etkili güç azaltma sağlar, ancak şu ana kadar iş yüküne bağlı olarak yalnızca fırsatçı olarak kullanılmaktadırlar. İntel_powerclamp sürücüsünün geliştirilmesiyle, tüm çevrimiçi CPU iş parçacıkları arasında boşta enjeksiyon senkronizasyonu yöntemi tanıtıldı. Amaç, zorla ve kontrol edilebilir C-devlet ikametini sağlamaktır.

Test / Analiz güç, performans, ölçeklenebilirlik ve kullanıcı deneyimi alanlarında yapılmıştır. Çoğu durumda, CPU'yu çevrimdışına alma veya CPU saatini değiştirme konusunda belirgin avantaj gösterilir.


Powerclamp'ın çalıştığını nasıl anlarsınız?

Powerclamp yılda bir kez fan delikleriniz çok fazla toz ve tiftik aldığında kendini gösterebilir. Peki arka planda çalıştığını nasıl anlarsınız? kullanın:

lsmod | grep intel

Ve buna benzer bir liste görmelisiniz:

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

Görüyorsanız intel_raplve intel_powerclampçalıştığını biliyorsanız ve sadece 85C'yi aşan temps bekliyor.


Conky tarafından görüntülenen eylemde güç kelepçesi

Powerclamp uyku döngülerini enjekte ettiğinde ekran görüntüsü :

Kidie Enjeksiyonu

Normalde bu sistemde HTML5 video ve 10 Chrome sekmesi izlerken CPU saat hızı 2400 Mhz ila 3400 Mhz'dir. Normalde CPU kullanımı 8 CPU'da yaklaşık% 9 ila% 12 arasındadır. İşler çok ısındığında ( 86C ) Powerclamp devreye girer ve bu olur:

  • CPU hızı 1200 Mhz'e düşürüldü.
  • CPU kullanımı% 80'e kadar yükselir. Bu yanıltıcıdır, çünkü ekstra% 70 uyku süresidir.
  • En iyi 9 CPU işlemi genellikle 5 veya 6 Chrome işlemi artı Xorg, Conky, Pulse Audio ve ara sıra çalışan bir işlemcidir. Ancak şimdi ilk 10'un 8'i kidle_inject / x işlemi olup x0 ila 7 arasındadır. İlk 8 CPU için.

Powerclamp temps tekrar 85C altına düşer kadar sürücü çalışır. Sürücü çalışırken videolarınızda ikinci duraklama ve muhtemelen ikinci klavye ve fare gecikmesini ayırmış olabilirsiniz.


Intel Turbo Boost'u devre dışı bırak

Ubuntu'nun "serin eski günlerinde" 14.04 Intel Turbo Boost bozuldu, böylece işlemci hızım 1200 Mhz ile 2400 Mhz arasında dalgalandı. Ubuntu 16.04 sürümüne geçtikten sonra 3400 Mhz (3,4 Ghz) seviyesine çıkacaktı çünkü Turbo Boost nihayet çalışıyordu. Ama aynı zamanda ısıyı da yükseltti.

Intel Turbo Boost'u devre dışı bırakmak için şunu kullanın:

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

Bu senaryoda kısa vadeli düzeltme

"Yara bandı" bu sorunu çözmek için eski dizüstü soğutucu pedi çift fanlar ile dolaptan çıkardı ve dizüstü bilgisayarın altına attı. Bu, aynı iş yükü altında sıcaklıkları 63 ° C'ye düşürdü.

Bir sonraki adım, havalandırma deliklerindeki havayı sıkıştırmak olacaktır. Bundan sonra son adım CPU ve GPU için borularla yeni Soğutma Soğutucu olacak. Bu operasyonda Arctic Silver 5 gibi iyi bir termal macun da gereklidir. Geçen yıl yeni bir fan kurulmuştu ve bu iyi çalışıyor gibi görünüyor.

Güncelleme 25 Ocak 2017

Basınçlı hava ile fan deliklerini havalandırın ve sıcaklıklar 63C'den 56C'ye düşürüldü. Bu hala dizüstü soğutma pedi kullanıyor.

Güncelleme 06 Ağu 2017

TLPUzun süredir (yukarıda açıklanmaktadır) kullanılmaktadır ve sıcaklıklar 50 ° C civarında sabittir ve fan performansı en uygunudur.


Çok fazla fan kontrol sürücüsüne dikkat edin

Bu, I8K Fan Monitor / Control'ü kurduğum bir Dell olduğundan, fanı daha erken ve daha hızlı hızlandıracağını umuyordu. Yazdığım zaman 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)

Sanal temperleri görmezden gel, öğle yemeğine çıktılar . Ubuntutemp 114.04altında doğru veConky ekran kullandım. Ubuntu 16.04 yükseltmesinden sonra bu ekranda görüntülenmeyen üçüncü bir sıcaklığa başvurmak zorunda kaldım. GERÇEK sıcaklıklarıgörmek içinbu komutu kullanabilirsiniz:

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

Ne zaman yazarım:

$ 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Çekirdek modülünü / sürücüsünü görüyorum . Ben google bu sürücü ve I8Kinsanlar rapor iki sürücünün sistem her 10 saniyede bir bölünmüş saniye donmasına neden rapor. Ben de bu sorunu yaşıyordum, bu yüzden I8K fan kontrolünü kaldırmak zorunda kaldım .

Birçok yardımcı program ve soğutma metodolojisi var, ancak bu TL; DR alıyor .


Vay canına, cevap bu. Burada çok güzel şeyler var.
Qwertie

Thermald taktım, ama powerclamp nasıl çalıştırılır? Varsayılan olarak çalışıyor mu? aşmamak için hangi sıcaklık çalışıyor?

kullandığınızda @cipricus: $ lsmod | grep powerbunu görmelisiniz: intel_powerclamp 16384 0. Aksi halde, Powerclamp herhangi bir nedenle kara listeye alınabilir. Eşik sıcaklığı 85C'dir ancak bence değiştirebilirsiniz. Bkz: bugs.launchpad.net/ubuntu/+source/linux/+bug/1389077
WinEunuuchs2Unix

4

Sadece bu sorun için bir program oluşturdum. CPU'nuzu istediğiniz sıcaklığa göre sınırlandırın. Şu şekilde çalışır:

sudo ./temp_throttle.sh 80

Bu komut CPU çekirdeklerinizi 80 santigrat dereceye ulaştıklarında yavaşlatır. Sıcaklık düştüğünde CPU çekirdeklerinin daha hızlı çalışmasına izin verilir. Temp_throttle'ı burada bulabilirsiniz .


Ana komut dosyasını başlangıçta sudo ile çalıştırmak ve şifreyi gnome-terminal'e girmek için küçük bir komut dosyası oluşturulabilir:

#!/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=45x15küçük bir terminal ekranı açar; --profile=hold"Komut çıktığında: Terminali açık tut" seçeneği ile önceden oluşturulması gereken "hold" adında bir gnome-terminal profili kullanır, --hide-menubarbu pencerenin menülerini gizler)

Yürütülebilir hale getirdikten sonra, bu küçük komut dosyası (diyelim temp_throttle_80.sh) başlangıç ​​listesine eklenebilir ve başlangıçta parola girmeniz istenir; o zaman, belirtilen sıcaklığa ulaşılırsa, etkisi rapor edilir:

resim açıklamasını buraya girin


1
Güzel senaryo. Ben de bir max temp ulaştığında uyku bilgisayar koymak için bir komut dosyası yaptım. bağlantı
kenn

Harika bir cevap ve 16.04 olarak çalışıyor


Seçenekleri kullanmak için sudogüç gerektiren komut dosyaları . Bu şekilde önyüklemeye parola girilmesine gerek yoktur. Bunu yapmanın başka yolları da var ama cron benim için en kolay kurulumdu. cronreboot
WinEunuuchs2Unix

Intel Powerclamp'ta gönderdiğim yanıt FYI, CPU'yu en düşük hıza indirir . Ancak CPU'nun hiçbir şey yapmamasını sağlamak için boşta durumları da enjekte eder. Bence senaryonuz harika ama Intel'in ne yaptığını bilmek isteyebilirsiniz. Açık kaynak olduğuna inanıyorum ve eğer ilgileniyorsanız çalışabilirsiniz.
WinEunuuchs2Unix

1

CPU frekansını sınırlayabilirsiniz, böylece frekansı düşürebilir ve CPU'dan Isıyı kontrol edebilirsiniz.

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

Bu kalıcı mı yoksa yeniden başlatmadan sonra geri mi dönecek?
Qwertie

sabit bir küme ve değiştirmek istiyorsanız, yine yapmanız gerekir.
rɑːdʒɑ

Bunun gnome-appletsçalışması için yüklemeniz gerekiyor
kiri

@ minerz029 bu bir terminal komutu arkadaşım.
rɑːdʒɑ

1
@rajagenupula Bir komut bulunamadı hatası alıyorumThe program 'cpufreq-selector' is currently not installed. You can install it by typing: sudo apt-get install gnome-applets
kiri
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.