Fan hızı nasıl kontrol edilir?


178

Bilgisayarın fan hızını nasıl kontrol edebilirim?

Windows'ta SpeedFan adında harika bir program var .


1
ATI kartları için basit bir cron çözümü koydum askubuntu.com/a/875241/375427
Pavel Niedoba

1
Linux üzerinde fancontrolkullanılarak yapılandırılmıştır pwmconfig. watch sensorsCPU ve GPU yükü altındaki sensörleri gözlemlemek için kullanın . Ayarlamak için boşta ve tam yükte bu değerleri kullanın MINTEMPve MAXTEMPile, sırasıyla INTERVAL=1. Bu, yük arttıkça fanlarınızı gerçek zamanlı olarak yükseltir. Bu daha aktif soğutma olup, daha ileri düzeyde ince ayar yapmak için bir temel sağlar. pwmconfigBir kez çalıştırın ve ardından /etc/fancontroldoğrudan düzenleyin . sudo service fancontrol restartHer tweak sonra çalıştırın .
Dominic Cerisano

Yanıtlar:


149

Başlamadan önce not:

Bu işlev, hem donanımınıza hem de yazılıma bağlıdır. Donanımınız fan hızı kontrollerini desteklemiyorsa veya bunları işletim sistemine göstermiyorsa, bu çözümü kullanmamanız olasıdır. Varsa, ancak yazılım (aka çekirdek) nasıl kontrol edileceğini bilmiyorsa, şanssızsınız demektir.


  1. Lm -sensörlerini ve fan kontrol paketlerini takın .
  2. Lm-sensörlerini yapılandır

    1. Terminalde sudo sensors-detectYES'e cevap verin ve soruları cevaplayın.
      (Potansiyel olarak, bu sisteminize zarar verebilir veya sistem çökmesine neden olabilir. Pek çok sistem için güvenlidir. Bu işlemin sisteminize kalıcı olarak zarar vermeyeceği garantisi yoktur, sadece böyle kritik bir başarısızlık şansının gerçekten düşük olduğunu düşünüyorum. Tüm çalışmalarınızı sistem konfigürasyonunu yapmadan önce meydana gelen çökmeler / donmalar / yeniden başlatmalar için kaydetmek her zaman iyi bir fikirdir. EVET'inizle seçici olmak hala yeterli olacak
    2. Sensör algılamanın sonunda, yüklenmesi gereken modüllerin bir listesi görüntülenecektir. Sensörleri algılamayı yapmak için "yes" yazın, bu modülleri / etc / modüllerine ekleyin veya / etc / modüllerini kendiniz düzenleyin.
    3. Run sudo service module-init-tools restart. Bu, /etc/modules3. adımda yaptığınız değişiklikleri okuyacak ve yeni modülleri çekirdeğe yerleştirecektir.
      • Not : Ubuntu 13.04 veya daha üstünü kullanıyorsanız, bu 3. adım komutunun değiştirilmesi gerekir sudo service kmod start.
  3. Fancontrol'ü yapılandırın

    1. Terminal tipinde sudo pwmconfig. Bu komut dosyası, hangi fanların hangi PWM tutamağı tarafından kontrol edilebileceğini bulmak için her bir fanı 5 saniye durduracaktır. Betik tüm fanlar arasında dolaştığında, hangi fanın hangi sıcaklığa karşılık geldiğini yapılandırabilirsiniz.
    2. Hangi sensörleri kullanacağınızı belirtmeniz gerekecektir. Bu biraz zor. Tek bir fanınız varsa, fankontrol hızını temel almak için çekirdeğiniz için bir sıcaklık sensörü kullandığınızdan emin olun.
    3. İstemleri izleyin ve değişiklikleri varsayılan konuma kaydedin.
    4. İnce ayar yapmak için ayarlamalar yapın /etc/fancontrolve sudo service fancontrol restartdeğişikliklerinizi uygulamak için kullanın . (Benim durumumda aralığı 2 saniyeye ayarlıyorum.)
  4. Fankontrol servisini ayarlayın

    1. Run sudo service fancontrol start. Bu aynı zamanda fancontrol servisinin sistem başlangıcında otomatik olarak çalışmasını sağlayacaktır.

/etc/fancontrolCPU için benim durumumda kullandım:

Hwmon0 / device / pwm2 ayarları:
(hwmon0 / device / temp2_input’a bağlı) (hwmon0 / device / fan2_input’u kontrol eder)

INTERVAL=2
MINTEMP=40  
MAXTEMP=60  
MINSTART=150  
MINSTOP=0  
MINPWM=0  
MAXPWM=255 

ve farklı bir sistemde:

INTERVAL=10
DEVPATH=hwmon1=devices/platform/coretemp.0 hwmon2=devices/platform/nct6775.2608
DEVNAME=hwmon1=coretemp hwmon2=nct6779
FCTEMPS=hwmon2/pwm2=hwmon1/temp2_input
FCFANS=hwmon2/pwm2=hwmon2/fan2_input
MINTEMP=hwmon2/pwm2=49
MAXTEMP=hwmon2/pwm2=83
MINSTART=hwmon2/pwm2=150
MINSTOP=hwmon2/pwm2=15
MINPWM=hwmon2/pwm2=14
MAXPWM=hwmon2/pwm2=255

İşte ayarları hakkında bazı yararlı bilgiler ve gerçekten ne yaptıklarını


111
Rehberinizi izlemeye çalıştım, ancak üçüncü adımda bu hatayı hapsettim: / usr / sbin / pwmconfig: Kurulu pwm özellikli sensör modülü yok
tamale

6
Ben sudo sensörleri algılayana kadar pwmconfig ile aynı sorunu yaşadım
Gearoid Murphy

5
Eğer sudo sensörleri algılayıcı herhangi bir sensörle gelmezse ne yapmalı? -> Üzgünüz, algılayıcı bulunamadı. Sisteminizde sensör yok veya desteklenmiyorlar veya desteklenmeyen bir I2C veya SMBus adaptörüne bağlılar. Geminizde hangi fişlerin bulunduğunu öğrenirseniz , sürücü durumu için lm-sensors.org/wiki/Devices adresini ziyaret edin .
H3R3T1K 8

5
Sorun yaşıyorsanız, dmesg'inizi hata mesajları için kontrol ettiğinizden emin olun. Benim durumumda, son çekirdek değişiklikleri gerekli sürücüyü yüklememe engel oldu acpi_enforce_resources=laxve eski işlevselliği geri almak için çekirdek seçeneklerime eklemek zorunda kaldım. Ayrıca bakınız: goo.gl/tUcr36
bukzor

19
Bunu denedim ve sudo pwmconfig'den başka bir şey elde edemiyorum, çünkü alıyorum: "Yüklenmiş pwm özellikli sensör modülü yok". Bu, sensörleri algılama komutunun bir 'Intel dijital termal sensör' bulmasından sonra olmasıdır. Ayrıca bu çekirdek parametresini de denedim. Birisi çözüm önerisi sunabilir mi?
Sman789

44

Bir ThinkPad'iniz varsa thinkfan, tam olarak bunu yapan bir yazılım var . Adından da anlaşılacağı gibi, ThinkPads ( thinkpad_acpi) için özel olarak yazılmıştır .

thinkfanYazılım standart ubuntu yazılım depolarında bulunuyor, ancak yapılandırmak için birkaç adım gerektirir.

İşte adım adım kolay bir rehber:

http://staff.science.uva.nl/~kholshei/thinkfan_guide/

(temel olarak bu Almanca kılavuzun çevrilmiş bir versiyonudur: http://thinkwiki.de/Thinkfan )


Postadan İlgili Bilgiler:

Adım 1. Thinkfan yazılımını ve sensörlerini kurun:

sudo apt-get install thinkfan lm-sensors

Adım 2. Thinkpad.conf dosyasını düzenleyerek arka plan programının fanı kontrol ettiğinden emin olun:

sudo nano /etc/modprobe.d/thinkfan.conf

aşağıdaki satırı ekleyerek:

options thinkpad_acpi fan_control=1

3. Adım. Dosyayı düzenleyerek daemon'un başlangıçta otomatik olarak yüklenmesini sağlayın:

sudo nano /etc/default/thinkfan

BAŞLAT tuşunun evet olarak ayarlandığından emin olmak, yani şunu söyleyen bir satır olması gerekir:

START=yes

Adım 4. Dizüstü bilgisayarınızın sensörlerini tespit edin:

sudo sensors-detect

ve Enter tuşuna basmanız istendiğinde yalnızca varsayılan cevapları seçin.

Adım 5. Yeni modülleri yükleyin. Ubuntu 13.10’dan itibaren bu:

sudo service kmod start

13.04 gibi önceki sürümler için bunun yerine yapmanız gerekir:

sudo service module-init-tools start

Adım 6. Hangi sensörlerin kullanımda olduğunu bulun:

sensors

(0 dereceyi belirtenler kullanımda değildir, neden onların da "tespit edildiğini" bilmiyorum). Hangilerinin kullanımda olduğunu unutmayın.

Adım 7. Bu sensörlerin tam yollarını bulun:

find /sys/devices -type f -name "temp*_input"

Çıktı / sys / devices / ... gibi yolların bir listesi olmalıdır

Adım 8. Sensörlere giden yolları kopyalayıp /etc/thinkpad.conf yapılandırma dosyasına yapıştırın. Bunu yapmak için önce dosyayı açın:

sudo nano /etc/thinkfan.conf

Zaten böyle bir çizgi olmalı

#sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3) 

(# -symbol, bu satırın yorumlandığı anlamına gelir). Sensörle başlayan bir çizgi ekleyin (# simgesi olmadan) ve ilk sensörü kopyala yapıştırın. Birden fazla sensörünüz varsa bunu tekrarlayın. Örneğin, benim makinemde 7. adımdaki çıktı elde edildi.

/sys/devices/virtual/hwmon/hwmon0/temp1_input
/sys/devices/platform/thinkpad_hwmon/temp3_input
/sys/devices/platform/thinkpad_hwmon/temp4_input
/sys/devices/platform/thinkpad_hwmon/temp5_input
/sys/devices/platform/thinkpad_hwmon/temp6_input
/sys/devices/platform/thinkpad_hwmon/temp7_input
/sys/devices/platform/thinkpad_hwmon/temp1_input
/sys/devices/platform/thinkpad_hwmon/temp8_input
/sys/devices/platform/thinkpad_hwmon/temp2_input
/sys/devices/platform/coretemp.0/temp4_input
/sys/devices/platform/coretemp.0/temp2_input 

Makinemde kullanılanlar ilk ve son iki satırdakiler, bu yüzden üç satırı ekledim:

sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
sensor /sys/devices/platform/coretemp.0/temp4_input
sensor /sys/devices/platform/coretemp.0/temp2_input 

Adım 9. Son olarak, konfigürasyon dosyasında fan hızı seviyelerini ayarlayabiliriz. Açık değilse, /etc/thinkpad.conf dosyasını açın.

sudo nano /etc/thinkfan.conf

ThinkPad x201 cihazımda kullandığım fan seviyeleri:

(0, 0, 51)
(1, 50, 52)
(2, 51, 55)
(3, 54, 58)
(4, 56, 63)
(5, 60, 70)
(6, 66, 79)
(7, 74, 92)
(127, 85, 32767) 

Son satır, tam fan hızı sağlar (127 = "ayrılmış", yani düzenlenmemiş). İhtiyaçlarınıza / isteklerinize uyacak şekilde bu seviyelerde keman yapabilirsiniz, ancak LÜTFEN DİKKAT EDİNİZ!

10. Adım. Yeniden başlatın. Şimdi her şey işe yaramalı. Thinkpad'in doğru çalışıp çalışmadığını kontrol etmek için

sudo thinkfan -n

Bu düşünce modunda ayrıntılı düşünmeye başlar. Önce thinkfan arka planını durdurmak isteyebilirsiniz:

sudo /etc/init.d/thinkfan stop

Thinkfan cini yeniden başlatmak istiyorsanız, şunu yazın:

sudo /etc/init.d/thinkfan start

Tamamlanmak için, /etc/thinkfan.conf yapılandırma dosyam:

# IMPORTANT:
#
# To keep your HD from overheating, you have to specify a correction value for
# the sensor that has the HD's temperature. You need to do this because
# thinkfan uses only the highest temperature it can find in the system, and
# that'll most likely never be your HD, as most HDs are already out of spec
# when they reach 55 °C.
# Correction values are applied from left to right in the same order as the
# temperatures are read from the file.
#
# For example:
# sensor /proc/acpi/ibm/thermal (0, 0, 10)
# will add a fixed value of 10 °C the 3rd value read from that file. Check out
# http://www.thinkwiki.org/wiki/Thermal_Sensors to find out how much you may
# want to add to certain temperatures.

# Syntax:
# (LEVEL, LOW, HIGH)
# LEVEL is the fan level to use (0-7 with thinkpad_acpi)
# LOW is the temperature at which to step down to the previous level
# HIGH is the temperature at which to step up to the next level
# All numbers are integers.
#

# I use this on my T61p:
#sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3)

#(0, 0, 55)
#(1, 48, 60)
#(2, 50, 61)
#(3, 52, 63)
#(4, 56, 65)
#(5, 59, 66)
#(7, 63, 32767)


# My settings for my ThinkPad X201: (kris)

sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
sensor /sys/devices/platform/coretemp.0/temp4_input
sensor /sys/devices/platform/coretemp.0/temp2_input

(0, 0, 51)
(1, 50, 52)
(2, 51, 55)
(3, 54, 58)
(4, 56, 63)
(5, 60, 70)
(6, 66, 79)
(7, 74, 92)
(127, 85, 32767)

2
Bir yorum: yorumlanan tablodaki gibi daha büyük sıcaklık değerleri örtüşmesine sahip olmak istiyorsunuz. Özellikle 45-55 aralığında. Aksi takdirde, fan hızı kaymaya devam eder. Bu çok rahatsız edici. (Sürekli fan gürültüsü dalgalanma gürültüsü kadar rahatsız etmez.)
HongboZhu

1
Biz (Linux topluluğu) gerçekten UX’i emiyoruz. :( Fan hızını ayarlamak 10 adımda bir işlem olmamalıdır
Alexander

2
@Alexander Bu konuda güçlü hissediyorsanız, bu işlemi otomatikleştirmek için küçük bir program yazmakta ve sürdürmekte özgürsünüz.
Kris

1
@Kris Asıl programı böyle saçma bir yapılandırma sürecine sahip olmayacak şekilde değiştirme konusunda daha meyilli olurum. Ne yazık ki, bir thinkpad yok, sadece orada mevcut thr fan kontrol seçeneklerini arayan bu yazıdan geçiyordu.
İskender

/etc/modprobe.d/thinkfan.conf Ubuntu 14.04'ümde yok. Şimdi ne var?
Youda008

14

Birkaç Dell bilgisayarı için i8kutils paketini yükleyebilirsiniz:

sudo apt install i8kutils

Test edilmemiş bir Dell'iniz varsa (Dell XPS 14z'im gibi), çekirdek modülünün yüklenmesini zorlamanız gerekebilir:

sudo modprobe i8k force=1

2
Dell XPS 14 L421X cihazım var. <code> sensörleri </code> hayran göstermedi. i8kutils paketi kurduktan sonra, sensörleri coretemp-isa-0000 alıyorum. Adaptör: ISA adaptör Fiziksel kimlik 0: + 54.0 ° C (yüksek = + 87.0 ° C, crit = + 105.0 ° C) + 87.0 ° C, kritik = + 105.0 ° C) Çekirdek 1: + 52.0 ° C (yüksek = + 87.0 ° C, kritik = + 105.0 ° C) i8k-virtual-0 Adaptör: Sanal cihaz Sağ Fan: 0 RPM CPU: + 55.0 ° C
philcolbourn

Bu hp için çalışıyor mu?
Ölümsüz Oyuncu

1
@ ölümsüz oyuncu, sanırım olmaz. Çekirdek modülü, Dell makineleri için özel olarak tasarlanmıştır.
morhook

Belki Apple için olduğu eklemek macfanctldve mbpfanve ThinkPad, oradathinkfan
rubo77

7

Lm -sensörlerini ve fancontrol paketlerini kurun ve yapılandırın :

sudo apt-get install lm-sensors fancontrol

Bunları yapılandırmak için belgeler man sayfalarında mevcuttur.

Bu, ACPI uyumlu bir BIOS tarafından sağlanan bir işlevdir, ancak çoğu ana kart üreticisinin standarda uymaya zahmet etmediği anlaşılmaktadır.


12
Bunların nasıl kurulacağı ve kullanılacağı hakkında daha ayrıntılı talimatlar verebilir misiniz?
Stefano Palazzo

Bunu man sayfasında veya www.lm-sensors.org adresinde bulabilirsiniz.
psusi

40
Biliyorum, sadece bu cevabın daha iyi olacağını düşündüm :)
Stefano Palazzo

@Psusi'nin verdiği link çalışmıyor, yeni link burada: github.com/groeck/lm-sensors
Svetlana Belkin

1
Bence yanlış yazılmış bir kullanıcı adın var.
markroxor

3

Burada, Ubuntu 19.04 ile çalışan thinkfan'ı öneren yanıt için güncellenmiş bir sürüm bulunmaktadır .

Kurmak

Aşağıdaki talimatlar /proc/acpi/ibm/fanve /proc/acpi/ibm/thermal"eski" cihazlara sahip herhangi bir ThinkPad için geçerlidir . Bu lm-sensorspaketi kurmak zorunda kalmaz.

Ancak, yine de yükleyebilir lm-sensorsfazla sıcaklık sensörleri görmek ve eski cihazlar ile sabit adımlarla "0-7 ve 127" yerine 256 PWM adımlarla, yani (hayranlarınız üzerinde daha fazla hassas denetim alır. Ayrıca beri thinkfanşimdi lm-sensorsSensörler ile çalışabilir , artık IBM / Lenovo ThinkPad bilgisayarlar için özel değildir.Bu man thinkfan"genişletilmiş" sensör aygıtlarını kullanmak için bakın.Ayrıca, Almanca Thinkwiki'de güncel bilgiler de vardır .

  1. Gerekli paketi kurun:

    sudo apt-get install thinkfan
    
  2. Aşağıdaki satırı /etc/modprobe.d/thinkfan.conf dosyasına ekleyin:

    options thinkpad_acpi fan_control=1
    
  3. thinkfanHizmeti sistem başlangıcında otomatik olarak başlayacak şekilde yapılandırın :

    1. Bir satır ekleyin START=yesetmek/etc/default/thinkfan

    2. Aşağıdaki komutu yürütün ( kaynak ):

      sudo systemctl enable thinkfan.service
      
  4. /etc/thinkfan.confDoğru işaretçilerle cihazlara ve istediğiniz fan seviyelerine uyum sağlayın . Buradaki yorumlar dokümantasyon sağlar. Eski fan ve termal cihazlara sahip herhangi bir Thinkpad'de, aşağıdakiler iyi bir başlangıç ​​noktası sağlamalıdır (ayrıca sabit disk için güvenli olmalıdır, daha fazla bilgi için dosyadaki yorumlara bakın). Bunun yeni anahtar kelimeler kullandığını unutmayın - yukarıdaki diğer cevaptakiler kullanımdan kaldırılmıştır.

    tp_fan /proc/acpi/ibm/fan
    tp_thermal /proc/acpi/ibm/thermal
    
    (0, 0, 47)
    (1, 43, 52)
    (2, 48, 55)
    (3, 51, 58)
    (4, 54, 63)
    (5, 59, 70)
    (6, 66, 79)
    (7, 74, 92)
    (127, 85, 32767) 
    

Ölçek

Ayarlarınızı sınamak için (yeniden başlatma sonrasında), aşağıdakileri yapabilirsiniz:

  • Bir terminal penceresinde, thinkfanarka plan dışı modda çalıştırın , böylece mesajlarını görebilirsiniz:

    sudo service thinkfan stop && sudo thinkfan -n
    
  • Başka bir terminal penceresinde, sıcaklık probu cihazınıza farklılıklar sağlayarak mevcut sıcaklık değerlerine dikkat edin:

    while true; do sleep 1; cat /proc/acpi/ibm/thermal; done
    
  • Yine başka bir terminal penceresinde, CPU'da bir miktar ısı yapın (ve termal yönetimde bir şeyin beklendiği gibi çalışmaması durumunda Ctrl+ ile Ckesin):

    sudo apt install stress-ng
    stress-ng --cpu-1
    

1
Muhteşem. Bu benim T490 için Pop_OS 19.04 ile çözüldü. Fan hala açık, ama her zaman değil.
Nitai

Daha yeni ThinkPad cihazlarında bulunmaz /proc/acpi/ibm/thermal, bu nedenle (bu harika Alman ThinkWiki sayfasında rahatça listelenen) bu vaka için fazladan bir çalışma yapmanız gerekir. Benim için çalıştığını düşünüyorum, bu yüzden cevabınızı güncelleyebilir veya başka bir tane oluşturabilirim. Teşekkürler!
Cliff

1

PC'nizin UEFI kurulumuna (veya BIOS kurulumuna) bakmayı deneyin. Eğer içine fan koyabilirsiniz fan kontrolü için bir ayar da olabilir Silent Mode, Performance Mode, Full Speed, Customize, vb

UEFI ayarlarına nasıl erişilir : Bilgisayarınızı yeniden başlatın ve bunları girme anahtarı muhtemelen köşelerden birinde görünecektir (örn. Press F2 to enter UEFI setup).

Fan kontrolü için ASRock UEFI kurulumu


Bu AskUbuntu değil AskUEFI :)
Maarten
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.