Eine weitere nicht erwähnte Alternative ist cpufrequtils
, das ich auf meinem Laptop mit Debian 6 installiert und verwendet habe. Es erlaubt Ihnen, den Algorithmus (Governor , in cpufrequtils
Terminologie), die der Kernel verwendet, um die Taktrate als Reaktion auf die Last nach oben und unten zu skalieren - insbesondere userspace
Mit Governor können Sie die Frequenz auf einen Wert Ihrer Wahl festlegen (natürlich muss die CPU in der Lage sein, mit dieser Geschwindigkeit zu laufen).
Ich habe es zum Beispiel verwendet, um einen Atom auf 800 MHz statt 1,6 GHz zu sperren. Es ist sehr einfach zu bedienen.
Ich weiß nicht, ob es ohne viel Hacking möglich ist, die CPU auf das gesamte System zu beschränken, aber Sie können die Menge an CPU, die von einem einzelnen Prozess verwendet wird, mit cpulimit
leicht begrenzenDer einzige Weg, wie ich mir vorstellen kann, dass Sie dies effektiv nutzen können, besteht darin, ein Wrapper-Skript (kann es nicht wirklich als Skript bezeichnen, es ist so klein) für die Anwendungen zu schreiben, von denen Sie wissen, dass sie Ressourcenfresser sind. Angenommen, Sie stellen fest, dass google-chrome viel CPU verbraucht, könnten Sie die google-chrome-Binärdatei in Ihrem Pfad durch Folgendes ersetzen:
#! /bin/bash
cpulimit --limit 70 /usr/bin/google-chrome-bin
Ich habe das nicht getestet, also nimm es mit einem Körnchen Salz. Auf der Website von cpulimit scheint es möglich zu sein, Regeln für CPU-Limits für verschiedene Anwendungen festzulegen. Ich bin mir nicht sicher, du müsstest es dir ansehen.
Sie können Ihre CPU-Kerne automatisch basierend auf der Temperatur mit dem Skript temp_throttle begrenzen. Es kann im Hintergrund laufen, während Sie sich auf wichtigere Dinge konzentrieren. Ein Beispiel für die Ausführung:
sudo ./temp_throttle.sh 80 # Will limit CPU cores when 80C is reached.
*Disclaimer- Ich bin der Autor und Betreuer von temp_throttle*