cpulimit

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Installation von Programmen

  2. Archivdateien entpacken

  3. Ein Terminal öffnen

Inhaltsverzeichnis
  1. Installation
  2. Benutzung
  3. Anmerkungen
  4. Links

Wiki/Icons/terminal.png Mit Hilfe des CPU Usage Limiter for Linux 🇬🇧 kann man die maximale prozentuale CPU-Zeit, die ein Prozess verbrauchen darf, begrenzen. Damit unterscheidet sich das Programm von den Befehlen nice bzw. renice, die stattdessen die Priorität eines Prozesses festlegen oder verändern.

Erfolgreich getestet wurde das Programm in verschiedenen Ausnahmesituationen, z.B. wenn ein Notebook während der Installation von Ubuntu überhitzt und in Folge einfach abschaltet (siehe Diskussion).

Installation

Das Programm kann direkt aus den Paketquellen installiert [1] werden:

Paketliste zum Kopieren:

sudo apt-get install cpulimit 

Oder mit apturl die Pakete installieren. Link: apt://cpulimit

Benutzung

Die allgemeine Syntax lautet [3]:

cpulimit ZIEL OPTIONEN & 

Hinweis:

Wenn man nicht nur eigene Prozesse limitieren will, muss man das Programm mit sudo cpulimit ... starten.

ZIEL ist dabei der Prozess/das Programm, was begrenzt werden soll. Der optionale Parameter & veranlasst das Programm, dauerhaft im Hintergrund zu arbeiten (ansonsten beendet man es mit Strg + C ). Folgende Ziele sind möglich:

Ziele
SyntaxBeschreibung
-p N, --pid=N PID eines Prozesses
-e DATEI, --exe=DATEI Name einer ausführbaren Datei
-P PFAD, --path=PFAD absoluter Pfad zu einer ausführbaren Datei

Folgende Optionen sind möglich:

Optionen
SyntaxBeschreibung
-l N, --limit=N maximal erlaubte CPU-Zeit in Prozent (muss immer angegeben werden!)
-v, --verbose zeigt statistische Informationen an
-z, --lazy beendet cpulimit, wenn es keinen entsprechenden Prozess gibt oder dieser beendet wird
-h, --help zeigt einen Hilfstext an

Beispiele

Angenommen, ein Prozess bzw. Programm namens "foo" wurde gestartet und erzeugt eine CPU-Auslastung von 100%. Mit folgendem Befehl kann die maximale CPU-Zeit auf 50% begrenzt werden:

cpulimit -e foo -l 50 

Mit folgendem Befehl kann die maximale CPU-Zeit, die /usr/bin/foo verbraucht, auf 30% begrenzt werden:

cpulimit -P /usr/bin/foo -l 30 

Mit folgendem Befehl kann die maximale CPU-Zeit, die der Prozess mit der PID "1234" verbraucht, auf 20% begrenzt werden:

cpulimit -p 1234 -l 20 

Anmerkungen

Bei Mehrkern-CPUs oder Rechnern mit mehreren Prozessoren ist die maximal mögliche prozentuale CPU-Zeit ein Vielfaches von 100% (z.B. 400% bei einer Vier-Kern-CPU).

cpulimit begrenzt auch die maximale CPU-Zeit der Kindprozesse. D.h. die CPU-Zeit des Prozesses inklusive seiner Kindprozesse wird begrenzt. Allerdings ist diese Funktion noch experimentell und funktioniert ggf. nicht in allen Fällen korrekt.