CPU temperaturabhängig drosseln? - Ubuntu

6

Ich habe einige Programme auf meinem Ubuntu-Rechner ausgeführt, die über einen längeren Zeitraum die maximale CPU-Leistung verbrauchen. Dies führt zu einer Überhitzung des Computers.

Könnte jemand ein gutes Programm vorschlagen, das die CPU-Leistung drosselt, um die eingestellte Temperatur aufrechtzuerhalten?

Ich habe Jupiter ausprobiert, aber es hat diese Funktion nicht. Ich habe auch einige Linux-Skripte ausprobiert, aber ich habe nicht die Fähigkeiten, sie für Ubuntu zu modifizieren.

Jede Hilfe wäre sehr dankbar.

Nein, madam
quelle
Ich bin damit einverstanden, dass dies auf Superuser oder Askubuntu gehört. In der Tat ist hier eine ähnliche Frage auf askubuntu askubuntu.com/questions/171397/…
Bob
Vielen Dank für die schnellen Antworten. Ich habe den Computer aufgeräumt und habe zusätzliche Lüfter, die daran arbeiten. Es läuft normalerweise um die 60 ° C, was ich gut finde. Wenn ich jedoch Programme ausführe, die sehr lange mit maximaler CPU-Leistung arbeiten, kann sie bis zu 90 ° C erreichen, und dann schalte ich die Programme aus, da sie zu heiß sind. Meiner Erfahrung nach überlasse ich es dem Computer, sich selbst zu retten, wenn es zu heiß wird. Er fährt einfach herunter. Ich würde es vorziehen, die CPU zu verkleinern, damit die Arbeit fortgesetzt werden kann, da sie sich ziemlich schnell aufheizt. Ich hatte gehofft, es würde eine Art Skript geben, das ich ausführen könnte und das das für mich erledigen würde.
Die Abschalttemperatur liegt höchstwahrscheinlich nicht bei 90 ° C, sondern höher.
Thorbjørn Ravn Andersen

Antworten:

11

Dies wird normalerweise vom CPU- Governor und vom Kernel selbst recht gut erledigt. Die CPU sollte automatisch gedrosselt werden, sobald gefährliche Temperaturen erreicht sind. Was lässt Sie denken, dass es ein Problem ist? Bei welchen Temperaturen laufen Sie?

Hier sind ein paar Dinge, die Sie vielleicht ausprobieren möchten.

  1. Spielen Sie mit den verschiedenen Gouverneuren . Die meisten modernen Systeme skalieren die CPU-Frequenz entsprechend dem aktuellen Bedarf. Auf Linux-Systemen wird dies vom "CPU-Regler" gesteuert. Wenn Sie den Job nur ohne Aufheizen ausführen möchten und sich nicht um die Geschwindigkeit kümmern möchten, setzen Sie den Regler auf "Powersave".

    sudo -i
    echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    

    Mit diesem Befehl können Sie überprüfen, welcher Governor eingestellt ist:

    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

    Mögliche Optionen sind:

    • Performance
    • Energiespar
    • Benutzerraum
    • auf Nachfrage
    • konservativ

  2. Verwenden Sie cpufreqdiese Option, um die Geschwindigkeit Ihres Prozessors manuell einzustellen:

    sudo apt-get install cpufrequtils 

    Ermitteln Sie die verfügbaren Prozessorgeschwindigkeiten (die Beispiele stammen von meinem Laptop):

    LC_ALL=C cpufreq-info | grep "available frequency"
    available frequency steps: 2.67 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz, 1.47 GHz, 1.33 GHz, 1.20 GHz
    

    Stellen Sie nun eine niedrige Frequenz ein (z. B. 1,20 GHz):

    sudo cpufreq-set -f 1.20
  3. Wenn Sie immer noch der Meinung sind, dass dies erforderlich ist, können Sie ein Skript erstellen, das die Temperatur überwacht und die Häufigkeit nach Bedarf festlegt. Dies ist jedoch mit Sicherheit schlimmer, als den Kernel damit umgehen zu lassen, und hängt davon ab, sensorsob acpioder was Ähnliches richtig konfiguriert ist, und ist es wirklich nicht wert.

terdon
quelle
2
@ rubo77 Neuere Intel-CPUs unterstützen nur die Regler "Powersave" und "Performance". Da der "Userspace" -Governor benötigt wird, um die Frequenz einzustellen (gemäß Ihrer Manpage), die für diese Maschinen nicht möglich ist.
Terdon
Ich habe keine Zeile "Verfügbare Frequenz" in meiner Ausgabe auf einem Intel i5-8265U. nur "Hardware-Grenzen: 400 MHz - 3,90 GHz". vielleicht kannst du bei denen die maximale frequenz einstellen?
rubo77
0

Warum nicht zuerst über den Standort und die Umgebung des Computers nachdenken?

Kann es eine gute Luftzirkulation haben?

Ist der Raum kühl? Vielleicht Klimaanlage oder das Fenster öffnen?

Haben Sie den Rücken abgenommen und einen Staubsauger verwendet, um angesammelten Staub zu entfernen?

Ed Heal
quelle
ja ... die umgebung ist gut Jedes Skript, das mit maximaler CPU-Geschwindigkeit ausgeführt wird, überhitzt den Computer. Zum Verringern der CPU-Geschwindigkeit wird ein Skript benötigt, um das Skript zu verlangsamen und den Computer zu kühlen.
Nomaam