Wie steuere ich die Lüftergeschwindigkeit?

178

Wie kann ich die Lüftergeschwindigkeit des Computers steuern?

Unter Windows gibt es ein wunderbares Programm namens SpeedFan .

grizwako
quelle
1
Ich habe hier eine einfache Cron-Lösung für ATI-Karten gestellt askubuntu.com/a/875241/375427
Pavel Niedoba
1
Unter Linux fancontrolwird mit konfiguriert pwmconfig. Dient watch sensorszum Beobachten von Sensoren unter CPU- und GPU-Last. Verwenden Sie diese Werte im Leerlauf und Volllast einzustellen MINTEMPund MAXTEMPjeweils mit INTERVAL=1. Dadurch werden Ihre Fans mit zunehmender Auslastung in Echtzeit hochgefahren. Dies ist die aktivste Kühlung, die eine Basis für weitere Optimierungen darstellt. Führen Sie pwmconfigeinmal, und dann bearbeitet /etc/fancontroldirekt. Führen Sie sudo service fancontrol restartnach jedem Tweak.
Dominic Cerisano

Antworten:

149

Beachten Sie vor dem Start:

Diese Funktionalität hängt sowohl von Ihrer Hardware als auch von Ihrer Software ab. Wenn Ihre Hardware die Steuerung der Lüftergeschwindigkeit nicht unterstützt oder sie dem Betriebssystem nicht anzeigt, ist es sehr wahrscheinlich, dass Sie diese Lösung nicht verwenden können. Wenn dies der Fall ist, aber die Software (auch bekannt als Kernel) nicht weiß, wie sie gesteuert werden soll, haben Sie kein Glück.


  1. Installieren Sie die lm-Sensoren und Fancontrol- Pakete.
  2. Konfigurieren Sie lm-Sensoren

    1. Geben Sie den Terminaltyp ein sudo sensors-detectund beantworten Sie alle JA / Nein-Fragen mit JA.
      (Möglicherweise kann dies Ihr System beschädigen oder einen Systemabsturz verursachen. Bei vielen Systemen ist dies sicher. Es gibt keine Garantie dafür, dass dieser Prozess Ihr System nicht dauerhaft schädigt. Ich denke nur, dass die Wahrscheinlichkeit eines solchen kritischen Ausfalls wirklich sehr gering ist Wenn Sie sich nicht sicher sind, lesen Sie die Kommentare und versuchen Sie, ein Web zu durchsuchen und sich einen Überblick zu verschaffen, bevor Sie alles JA-sagen, was möglicherweise der Fall ist selektiv mit deinen JA-es wird noch reichen)
    2. Am Ende der Sensorerkennung wird eine Liste der Module angezeigt, die geladen werden müssen. Geben Sie "yes" ein, damit die Sensoren diese Module in / etc / modules einfügen oder / etc / modules selbst bearbeiten.
    3. Rennen sudo service module-init-tools restart. Dadurch werden die /etc/modulesin Schritt 3 vorgenommenen Änderungen gelesen und die neuen Module in den Kernel eingefügt.
      • Hinweis : Wenn Sie Ubuntu 13.04 oder höher ausführen, sollte dieser 3. Schritt durch ersetzt werden sudo service kmod start.
  3. Konfigurieren Sie Fancontrol

    1. Im Terminal-Typ sudo pwmconfig. Dieses Skript stoppt jeden Lüfter für 5 Sekunden, um herauszufinden, welche Lüfter von welchem ​​PWM-Handle gesteuert werden können. Nachdem das Skript alle Lüfter durchlaufen hat, können Sie konfigurieren, welcher Lüfter welcher Temperatur entspricht.
    2. Sie müssen angeben, welche Sensoren verwendet werden sollen. Das ist ein bisschen schwierig. Wenn Sie nur einen Lüfter haben, stellen Sie sicher, dass Sie einen Temperatursensor für Ihren Kern verwenden, auf dem die Geschwindigkeit der Fancontrol basiert.
    3. Führen Sie die Eingabeaufforderungen aus und speichern Sie die Änderungen am Standardspeicherort.
    4. Nehmen Sie Anpassungen zur Feinabstimmung vor /etc/fancontrolund verwenden Sie sudo service fancontrol restart, um Ihre Änderungen zu übernehmen. (In meinem Fall habe ich das Intervall auf 2 Sekunden eingestellt.)
  4. Richten Sie den Fancontrol- Service ein

    1. Rennen sudo service fancontrol start. Dadurch wird der Fancontrol-Dienst auch beim Systemstart automatisch ausgeführt.

In meinem Fall /etc/fancontrolfür CPU verwendete ich:

Einstellungen für hwmon0 / device / pwm2:
(Abhängig von hwmon0 / device / temp2_input) (Steuert hwmon0 / device / fan2_input)

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

und auf einem anderen System ist es:

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

Hier finden Sie einige nützliche Informationen zu den Einstellungen und deren Wirkungsweise

GrizzLy
quelle
111
Ich habe versucht , Ihr Führer zu folgen, wurde aber bei Schritt drei mit diesem Fehler fest: / usr / sbin / pwmconfig: Es gibt keine pwm-fähigen Sensormodule installiert
tamale
6
Ich hatte dasselbe Problem mit pwmconfig, bis ich sudo sensors-detect
Gearoid Murphy am
5
Was tun, wenn sudo sensors-detect keine Sensoren hat? -> Es wurden leider keine Sensoren erkannt. Entweder verfügt Ihr System über keine Sensoren oder sie werden nicht unterstützt oder sie sind an einen nicht unterstützten I2C- oder SMBus-Adapter angeschlossen. Wenn Sie herausfinden, welche Chips sich auf Ihrem Board befinden, überprüfen Sie unter lm-sensors.org/wiki/Devices den Treiberstatus.
H3R3T1K
5
Wenn Sie Probleme haben, überprüfen Sie Ihr dmesg auf Fehlermeldungen. In meinem Fall haben mich die letzten Kerneländerungen daran gehindert, den erforderlichen Treiber zu laden, und ich musste acpi_enforce_resources=laxmeine Kerneloptionen erweitern, um die alte Funktionalität wiederherzustellen. Siehe auch: goo.gl/tUcr36
bukzor
19
Ich habe es versucht und komme nicht weiter als mit sudo pwmconfig, weil ich erhalte: "Es sind keine pwm-fähigen Sensormodule installiert". Nachdem der Sensorerkennungsbefehl einen "Intel Digital Thermal Sensor" gefunden hat. Ich habe auch diesen Kernel-Parameter ausprobiert. Kann mir jemand eine Lösung vorschlagen?
Sman789
44

Wenn Sie ein ThinkPad besitzen , gibt es eine Software thinkfan, die genau das tut. Wie der Name schon sagt, wurde es speziell für ThinkPads ( thinkpad_acpi) entwickelt.

Die thinkfanSoftware ist in den Standard-Ubuntu-Software-Repositories verfügbar, erfordert jedoch einige Konfigurationsschritte.

Hier ist eine einfache Schritt-für-Schritt-Anleitung:

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

(Dies ist im Grunde eine übersetzte Version dieses deutschen Handbuchs: http://thinkwiki.de/Thinkfan )


Relevante Informationen von der Post:

Schritt 1. Installieren Sie die thinkfan-Software und die Sensoren:

sudo apt-get install thinkfan lm-sensors

Schritt 2. Stellen Sie sicher, dass der Dämon den Lüfter steuert, indem Sie die Datei thinkpad.conf bearbeiten:

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

durch Hinzufügen der folgenden Zeile:

options thinkpad_acpi fan_control=1

Schritt 3. Laden Sie den Daemon beim Start automatisch, indem Sie die Datei bearbeiten:

sudo nano /etc/default/thinkfan

Stellen Sie sicher, dass die START-Taste auf yes gesetzt ist, dh es sollte eine Zeile mit folgendem Wortlaut vorhanden sein:

START=yes

Schritt 4. Ermitteln Sie die Sensoren Ihres Laptops:

sudo sensors-detect

und wählen Sie einfach die Standardantworten, wenn Sie durch Drücken der Eingabetaste dazu aufgefordert werden.

Schritt 5. Laden Sie die neuen Module. Ab Ubuntu 13.10 erledigt dies:

sudo service kmod start

Für frühere Versionen wie 13.04 müssen Sie stattdessen Folgendes tun:

sudo service module-init-tools start

Schritt 6. Finden Sie heraus, welche Sensoren verwendet werden:

sensors

(Diejenigen, die 0 Grad anzeigen, werden nicht verwendet, ich weiß nicht, warum diese auch "erkannt" werden). Denken Sie daran, welche verwendet werden.

Schritt 7. Ermitteln Sie die vollständigen Pfade dieser Sensoren:

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

Die Ausgabe sollte eine Liste von Pfaden wie / sys / devices / ... sein.

Schritt 8. Kopieren Sie die Pfade zu den Sensoren in die Konfigurationsdatei /etc/thinkpad.conf. Öffnen Sie dazu zuerst die Datei:

sudo nano /etc/thinkfan.conf

Es sollte schon eine Zeile geben wie

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

(Das # -Symbol bedeutet, dass diese Zeile auskommentiert ist). Fügen Sie eine Zeile hinzu, die mit sensor beginnt (ohne das # -Symbol), und kopieren Sie den ersten Sensor und fügen Sie ihn ein. Wiederholen Sie diesen Vorgang, wenn Sie mehr als einen Sensor haben. Auf meinem Computer ergibt sich beispielsweise die Ausgabe in Schritt 7

/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 

Diejenigen, die in meinem Computer verwendet werden, sind die in der ersten und in den letzten beiden Zeilen. Deshalb habe ich die drei Zeilen hinzugefügt:

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

Schritt 9. Schließlich können wir die Lüftergeschwindigkeitsstufen in der Konfigurationsdatei einstellen. Öffnen Sie die Datei /etc/thinkpad.conf, falls sie noch nicht geöffnet war.

sudo nano /etc/thinkfan.conf

Die Lüfterstufen, die ich auf meinem ThinkPad x201 verwende, sind:

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

Die letzte Zeile sorgt für volle Lüfterdrehzahl (127 = "ausgerückt", dh ungeregelt). Sie können mit diesen Levels experimentieren, um Ihre Bedürfnisse / Wünsche zu erfüllen, aber BITTE SORGFÄLTIG SEIN!

Schritt 10. Starten Sie neu. Alles sollte jetzt funktionieren. Um zu überprüfen, ob thinkpad ordnungsgemäß ausgeführt wird, verwenden Sie

sudo thinkfan -n

was thinkfan im ausführlichen Modus startet. Möglicherweise möchten Sie zuerst den thinkfan-Daemon stoppen:

sudo /etc/init.d/thinkfan stop

Wenn Sie den thinkfan-Daemon erneut starten möchten, geben Sie Folgendes ein:

sudo /etc/init.d/thinkfan start

Meine Konfigurationsdatei /etc/thinkfan.conf enthält zur Vervollständigung Folgendes:

# 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)
Kris
quelle
2
Ein Kommentar: Sie möchten eine größere Überlappung der Temperaturwerte als in der auskommentierten Tabelle haben. Besonders im Bereich 45-55. Ansonsten dreht sich die Lüfterdrehzahl ständig um. Das ist sehr beunruhigend. (Konstantes Lüftergeräusch stört weniger als schwankende Geräusche.)
HongboZhu
1
Wir (die Linux-Community) saugen wirklich an UX. :( Einstellen einer Lüfterdrehzahl sollte kein 10-Stufen-Prozess sein.
Alexander
2
@Alexander Wenn Ihnen dies sehr am Herzen liegt, können Sie ein kleines Programm schreiben und warten, um diesen Prozess zu automatisieren.
Kris
1
@Kris Ich wäre eher geneigt, das ursprüngliche Programm so zu ändern, dass es keinen so unsinnigen Konfigurationsprozess gibt. Leider habe ich kein Thinkpad. Ich bin gerade an diesem Beitrag vorbeigekommen und habe nach Optionen für die Lüftersteuerung gesucht.
Alexander
/etc/modprobe.d/thinkfan.conf existiert nicht in meinem Ubuntu 14.04. Was jetzt?
Youda008
14

Für mehrere Dell-Computer können Sie das i8kutils-Paket installieren:

sudo apt install i8kutils

Wenn Sie ein nicht getestetes Dell haben (wie mein Dell XPS 14z), müssen Sie möglicherweise das Laden des Kernel-Moduls erzwingen:

sudo modprobe i8k force=1
morhook
quelle
2
Ich habe Dell XPS 14 L421X. <code> sensoren </ code> zeigten keine lüfter. Nach der Installation des i8kutils-Pakets erhalte ich Sensoren. coretemp-isa-0000 Adapter: ISA-Adapter Physikalische ID 0: + 54,0 ° C (hoch = + 87,0 ° C, krit = + 105,0 ° C) Kern 0: + 50,0 ° C (hoch = + 87,0 ° C, krit = + 105,0 ° C) Kern 1: + 52,0 ° C (hoch = + 87,0 ° C, krit = + 105,0 ° C) i8k-virtual-0 Adapter: Virtuelles Gerät Rechter Lüfter: 0 U / min CPU: +
55.0
Funktioniert das für PS?
Unsterblicher Spieler
1
@ Immortal-Player, ich denke, es wird nicht. Das Kernelmodul wurde speziell für Dell-Computer entwickelt.
Morhook
Vielleicht fügen Sie hinzu, dass es für Apple gibt macfanctldund mbpfanund für ThinkPad gibt esthinkfan
rubo77
7

Installieren und konfigurieren Sie die lm- sensors- und fancontrol- Pakete:

sudo apt-get install lm-sensors fancontrol

Dokumentation zur Konfiguration finden Sie auf den Manpages.

Dies ist eine Funktion, die von einem ACPI-kompatiblen BIOS bereitgestellt werden soll, aber es scheint, dass sich die meisten Motherboard-Hersteller nicht darum kümmern, den Standard zu befolgen.

Psusi
quelle
12
Können Sie detailliertere Anweisungen zur Installation und Verwendung geben?
Stefano Palazzo
Sie finden dies in der Manpage oder unter www.lm-sensors.org.
Psusi
40
Ich weiß, ich dachte nur, diese Antwort könnte besser sein :)
Stefano Palazzo
Der Link, den @psusi gegeben hat, funktioniert nicht, der neue Link ist hier: github.com/groeck/lm-sensors
Svetlana Belkin
1
Ich denke, Sie haben einen falsch geschriebenen Benutzernamen.
Markroxor
3

Hier ist eine aktualisierte Version für die Antwort, die thinkfan für die Arbeit mit Ubuntu 19.04 empfiehlt .

Konfiguration

Die nachstehenden Anweisungen gelten für jeden ThinkPad, die hat /proc/acpi/ibm/fanund /proc/acpi/ibm/thermal„Legacy“ Geräte. Dadurch muss das lm-sensorsPaket nicht installiert werden.

Allerdings konnte man noch installiert lm-sensorsmehr Temperatursensoren zu sehen und weitere feinkörnige Kontrolle über Ihre Fans (nämlich zu bekommen, in 256 PWM Schritten anstelle den festen Schritte „0-7 und 127“ mit den Legacy - Geräten. Da auch thinkfanjetzt funktioniert mit lm-sensorsSensoren, ist nicht mehr spezifisch für IBM / Lenovo ThinkPad-Computer. Informationen man thinkfanzur Verwendung dieser "erweiterten" Sensorgeräte finden Sie im deutschen Thinkwiki .

  1. Installieren Sie das erforderliche Paket:

    sudo apt-get install thinkfan
    
  2. Fügen Sie die folgende Zeile zu /etc/modprobe.d/thinkfan.conf hinzu:

    options thinkpad_acpi fan_control=1
    
  3. Konfigurieren Sie den thinkfanDienst so, dass er beim Systemstart automatisch gestartet wird:

    1. Fügen Sie eine Zeile START=yeszu hinzu/etc/default/thinkfan

    2. Führen Sie den folgenden Befehl ( Quelle ) aus:

      sudo systemctl enable thinkfan.service
      
  4. Passen Sie /etc/thinkfan.confmit den richtigen Zeigern die gewünschten Geräte und Lüfterstufen an. Die dortigen Kommentare dienen der Dokumentation. Auf jedem Thinkpad mit dem älteren Lüfter und den Wärmegeräten sollte das Folgende einen guten Ausgangspunkt bieten (sollte auch für die Festplatte sicher sein; weitere Informationen finden Sie in den Kommentaren in der Datei). Beachten Sie, dass hier neue Schlüsselwörter verwendet werden - die in der anderen Antwort oben genannten sind veraltet.

    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) 
    

Prüfung

Um Ihr Setup (nach einem Neustart) zu testen, können Sie wie folgt vorgehen:

  • Führen Sie thinkfanin einem Terminalfenster den nicht dämonisierten Modus aus, damit Sie dessen Meldungen sehen können:

    sudo service thinkfan stop && sudo thinkfan -n
    
  • Behalten Sie in einem anderen Terminalfenster die aktuellen Temperaturwerte im Auge und versorgen Sie Ihr Temperaturfühlergerät, falls anders:

    while true; do sleep 1; cat /proc/acpi/ibm/thermal; done
    
  • In einem weiteren Terminalfenster etwas Wärme in der CPU erzeugen (und mit Ctrl+ unterbrechen, Cfalls etwas im Wärmemanagement nicht wie erwartet funktioniert):

    sudo apt install stress-ng
    stress-ng --cpu-1
    
Tanius
quelle
1
Genial. Dies löste es für mein T490 mit Pop_OS 19.04. Der Lüfter geht immer noch an, aber nicht die ganze Zeit.
Nitai,
Neuere ThinkPad-Geräte haben keine /proc/acpi/ibm/thermal, daher ist es notwendig, zusätzliche Arbeit für diesen Fall zu leisten (siehe praktische Liste auf dieser wunderbaren deutschen ThinkWiki-Seite). Ich scheine es für mich zum Laufen gebracht zu haben, also kann ich deine Antwort aktualisieren oder eine andere erstellen. Vielen Dank!
Cliff vor
1

Versuchen Sie es im UEFI-Setup (oder BIOS-Setup) Ihres PCs. Es könnte eine Einstellung für Lüftersteuerung, wo Sie Ihre Fan - in setzen können Silent Mode, Performance Mode, Full Speed, Customizeetc.

So greifen Sie auf die UEFI-Einstellungen zu : Starten Sie Ihren PC neu, und der Schlüssel zur Eingabe wird wahrscheinlich in einer der Ecken angezeigt (z. B. Press F2 to enter UEFI setup).

ASRock UEFI-Setup für die Lüftersteuerung

xjcl
quelle
Dies ist AskUbuntu nicht AskUEFI :)
Maarten