Haben Sie schon einmal erlebt, dass Sie eine bestimmte Anwendung (z. B. Firefox) öffnen und das ganze System zum Stillstand bringt? Wenn Sie einen Webserver betreiben, ist das Letzte, was Sie sehen wollen, eine Anwendung zu haben, die das gesamte System zum Absturz bringt und alle Websites zum Absturz bringt.

Cpulimit ist eine Anwendung für Linux, die die CPU-Auslastung eines Prozesses begrenzen kann. Dies ist nützlich, wenn Sie verhindern möchten, dass eine bestimmte Anwendung zu viel CPU-Ressourcen beansprucht und dadurch das System abstürzt. Dies kann auch nützlich sein, wenn Sie mehrere Intensivprogramme gleichzeitig ausführen müssen.

Hinweis : Cpulimit sollte für alle Linux-Distributionen funktionieren. In diesem Tutorial werden wir Ubuntu zur Veranschaulichung verwenden.

Installation

In Ubuntu können Sie cpulimit über das Ubuntu Software Center installieren, klicken Sie hier, um zu installieren, oder geben Sie den folgenden Befehl im Terminal ein:

 sudo apt-get installieren cpulimit 

Verwendung

Um einen Prozess einzuschränken, verwenden Sie den Befehl

 sudo cpulimit -p PID -l CPU% 

Die PID ist die Prozess-ID der laufenden Anwendung und CPU% ist der Prozentsatz (0-100, nur Zahl) der CPU-Ressourcen, die für die App zulässig sind. Sie können die PID über System -> Administration -> System Monitor erhalten .

Aus dem obigen Screenshot sieht man, dass die Swiftfox-Anwendung (eine Variante von Firefox) 68% der CPU-Ressourcen belegt, bevor das CPU-Limit gesetzt wird. Mal sehen, was passiert, wenn wir die CPU-Auslastung auf 20% begrenzen.

Die% CPU fiel sofort unter 20% und überschritt nie wieder die 20% -Marke.

Erweiterung von cpulimit - Automatisierung des gesamten Prozesses

Cpulimit ist nützlich, wenn Sie auf eine Anwendung stoßen, die viel CPU-Ressourcen beansprucht oder einen Batch-Job ausführen muss. Darüber hinaus können Sie es auch so einrichten, dass das System auf fehlerhafte Anwendungen überwacht wird. Dies ist besonders nützlich bei einer Serverkonfiguration.

Das Ubuntu Forum hat ein großartiges Skript entwickelt, das die Überwachung Ihres Systems automatisiert und jeden Prozess einschränkt, der ein voreingestelltes CPU-Limit überschreitet. Das Skript ermöglicht Ihnen auch, Blacklist / Whitelist für bestimmte Anwendungen zu setzen.

Bevor wir anfangen, stellen Sie sicher, dass Sie cpulimit und gawk installiert haben.

 sudo apt-get installieren cpulimit gawk 

Laden Sie die Skripte hier herunter. Extrahieren Sie die TAR-Datei in Ihren Home-Ordner. Sie sollten zwei Dateien im cpulimit-Ordner haben: cpulimit_daemon.sh und cpulimit .

Öffnen Sie die Datei cpulimit_daemon.sh in Ihrem Texteditor (gEdit) und ändern Sie Folgendes:

CPU_LIMIT : Dies sind die maximalen CPU-Ressourcen, die für jede Anwendung verfügbar sind. Der Standardwert ist 20%.

DAEMON_INTERVAL : Dies ist das Intervall, in dem das Skript das System überprüft. Der Standardwert ist auf 3 Sekunden festgelegt.

BLACK_PROCESS_LIST : Enthält die Liste der Elemente, die speziell überwacht werden sollen. Sie können das Begrenzungszeichen "|" verwenden, um mehrere Prozesse einzubeziehen. Zum Beispiel " mysql|firefox|gedit ".

WHITE_PROCESSES_LIST : Enthält die Liste der Elemente, die NICHT überwacht werden sollen. Sie können das Begrenzungszeichen "|" verwenden, um mehrere Prozesse einzubeziehen. Zum Beispiel " mysql|firefox|gedit ".

Hinweis : Eine oder beide Variablen BLACK_PROCESSES_LIST und WHITE_PROCESSES_LIST müssen leer sein. Sie können keine Blacklist und keine Whitelist gleichzeitig haben.

Einrichten

Kopieren Sie die Datei cpulimit_daemon.sh in den Ordner / usr / bin /

 sudo cp ~ / cpulimit / cpulimit_daemon.sh / usr / bin sudo chmod 700 /usr/bin/cpulimit_daemon.sh 

Kopiere die cpulimit- Datei nach /etc/init.d/folder, setze die notwendige Erlaubnis und lasse sie während des Statups laufen.

 sudo cp ~ / cpulimit / cpulimit /etc/init.d/ sudo chown root: root /etc/init.d/cpulimit sudo chmod + x / etc / init.d / cpulimit sudo update-rc.d cpulimit defaults 

Starten Sie jetzt Ihr System neu. Der cpulimit-Daemon sollte automatisch starten.

Sie können ein Terminal öffnen und Folgendes eingeben:

 sudo service cpulimit status 

um zu überprüfen, ob der cpulimit-Daemon läuft. Wenn es nicht läuft, starten Sie es mit dem Befehl

 sudo service cpulimit starten 

Alternativ, stoppen Sie es mit:

 sudo service cpulimit stop 

Deinstallieren

Um zu deinstallieren, müssen Sie Folgendes tun:

1. Stoppen Sie den cpulimit-Daemon

 sudo service cpulimit stop # Stoppen Sie den cpulimit-Daemon und alle c-pulimited-Prozesse 

2. Entfernen Sie den Daemon vom Startvorgang

 sudo update-rc.d -f cpulimit entfernen # Entferne symbolische Links 

3. Löschen Sie den Startvorgang

 sudo rm /etc/init.d/cpulimit # Löschen Sie das Skript cpulimit boot-up 

4. Löschen Sie den cpulimit-Daemon

 sudo rm /usr/bin/cpulimit_daemon.sh # Löschen des cpulimit-Daemon-Skripts 

5. Deinstallieren Sie das Programm cpulimit

 sudo apt-get entfernt cpulimit 

Optional, dein Programm gawk deinstallieren

 sudo apt-get remove gawk 

Weitere Informationen finden Sie im Ubuntu-Forum für weitere Details.

Code Kredit: abcuser von Ubuntu Forum