Mein Laptop (ein HP mit einem i3-Chip) überhitzt sich jedes Mal wie verrückt, wenn ich einen ressourcenintensiven Prozess durchführe (wie eine große Zusammenstellung, das Extrahieren großer Tarballs oder ... das Spielen von Flash).
Ich suche derzeit nach Kühllösungen, habe aber die Idee, den globalen CPU-Verbrauch zu begrenzen. Ich dachte, wenn die CPU begrenzt ist, steigt die Temperatur wahrscheinlich nicht mehr so rasant an, und ich bin bereit, ein wenig Leistung zu opfern, um die Arbeit zu erledigen.
- Irre ich mich in meiner Argumentation?
- Wie kann ich vorgehen, um die CPU-Auslastung insgesamt zu begrenzen?
Wenn es hilft, führe ich Debian aus.
Antworten:
Ich weiß nicht, dass die Beschränkung der CPU auf das gesamte System ohne viel Hacken möglich ist. Mit cpulimit können Sie jedoch problemlos die CPU- Auslastung eines einzelnen Prozesses begrenzen
Ich kann mir nur vorstellen, dass Sie dies effektiv nutzen können, indem Sie ein Wrapper-Skript für die Anwendungen schreiben, von denen Sie wissen, dass sie Ressourcenfresser sind. Angenommen, Sie stellen fest, dass Google Chrome viel CPU verbraucht. Sie könnten die Google Chrome-Binärdatei in Ihrem Pfad durch Folgendes ersetzen:
Ich habe das nicht getestet, also nimm es mit einem Körnchen Salz. Auf der Website von cpulimit können Sie möglicherweise Regeln für CPU-Grenzwerte für verschiedene Anwendungen festlegen. Ich bin mir nicht sicher, du musst es dir ansehen.
quelle
Eine andere Alternative, die nicht erwähnt wurde, ist die
cpufrequtils
, die ich auf meinem Laptop mit Debian 6 installiert und verwendet habe. Sie ermöglicht es Ihnen, den Algorithmus ( Governor , in dercpufrequtils
Terminologie) zu ändern, den der Kernel verwendet, um die Taktrate als Reaktion auf und ab zu skalieren Zum Laden - insbesondereuserspace
können Sie mit dem Regler die Frequenz auf eine beliebige Geschwindigkeit einstellen (natürlich muss die CPU in der Lage sein, mit dieser Geschwindigkeit zu laufen).Ich habe es zum Beispiel verwendet, um einen Atom mit 800MHz anstatt mit 1,6GHz zu sperren. Es ist sehr einfach zu bedienen.
quelle
Mit dem Skript temp_throttle können Sie Ihre CPU-Kerne automatisch temperaturabhängig begrenzen . Es kann im Hintergrund ausgeführt werden, während Sie sich auf wichtigere Dinge konzentrieren. Ein Beispiel zur Ausführung:
* Haftungsausschluss- Ich bin der Autor und Betreuer von temp_throttle *
quelle
Geh ins BIOS und übertakte die CPU. - Kein Grund zur Klugheit.
quelle
Besuchen Sie diese Seite
cpulimit
und erfahren Sie, wie Sie Debian und Ubuntu installieren und verwenden :http://www.howtoforge.com/how-to-limit-cpu-usage-of-a-process-with-cpulimit-debian-ubuntu
quelle
Es ist nicht erforderlich, den Governor zu ändern. Sie müssen lediglich den Wert
/sys/devices/system/cpu/*/cpufreq/scaling_max_freq
für jeden CPU-Kern ändern .ZB mit dieser for-Schleife:
siehe auch mein setcpu script .
( Originalbefehle hier zu finden )
quelle
Mit können Sie
renice
die Priorität des Prozesses nach Prozess- oder Gruppen-ID ändern. Aus den Beispielen fürrenice
:Passen Sie den Nizza-Wert so an, dass die Prozess-IDs 987 und 32 einen niedrigeren Nizza-Wert haben:
renice -n 5 -p 987 32
Passen Sie den Nizza-Wert so an, dass die Gruppen-IDs 324 und 76 einen höheren Nizza-Wert haben, wenn der Benutzer die entsprechenden Berechtigungen dazu hat:
renice -n -4 -g 324 76
Passen Sie den netten Wert so an, dass die numerische Benutzer-ID 8 und der Benutzer sas einen niedrigeren netten Wert haben:
renice -n 4 -u 8 sas
quelle