Im Rahmen der Aufgaben der Administration von Servern auf Basis von Linux-Umgebungen ist ein wesentlicher Bestandteil für die optimale Entwicklung der Überwachung der CPU-Auslastung sowohl auf der Ebene der Prozesse und Dienste als auch auf der Benutzerebene, da die übermäßige Auslastung des Prozessors die normale Leistung des Computers beeinträchtigt Server nicht auf natürliche Weise und mit den richtigen Parametern jede Aktivität zu entwickeln.
Es ist normal, dass Computer “hängen”, weil sie mit Prozessen oder Aktionen von Benutzern überfüllt sind, aber manchmal ist es schwierig, genau zu erkennen, wo das Problem liegt.
CPUTool ist ein einfaches Tool, mit dem wir die CPU-Auslastung in Echtzeit überprüfen und somit die Verwendung durch Prozesse, Dienste oder Benutzer mit hohem Nutzungsgrad einschränken und steuern können , um das Serververhalten zu stabilisieren.
Auch mit diesem Tool können wir einen Prozess stoppen, wenn er die festgelegten Grenzen überschreitet. Für diese Analyse verwenden wir Ubuntu 17.04 Server, da CPUTools für Debian- und Ubuntu-Umgebungen kompatibel ist. CPUTool sendet SIGSTOP- und SIGCONT-Signale an jeden Prozess, und dies bestimmt die Last jedes Prozesses für seine jeweilige Analyse.
Um CPUTool in Ubuntu 17.04 Server zu installieren, führen wir den folgenden Befehl aus:
sudo apt install cputool
Um zu überprüfen, wie dieses Tool funktioniert, führen wir die folgende Zeile aus, die einen hohen CPU-Verbrauch voraussetzt:
dd if = / dev / zero von = / dev / null &
Mit dem Befehl top können wir einen Echtzeitbericht über die aktiven Ubuntu-Prozesse erstellen:
Wir können sehen, dass die PID 2801 derzeit 99,3% der CPU verbraucht, was für einen einzelnen Prozess und Benutzer etwas hoch ist, und hier setzt CPUTools an. Wir können den Parameter –cpu-limit oder -c verwenden, um einen bestimmten Prozess auf einen bestimmten Prozentsatz der CPU-Auslastung zu beschränken. Wenn dieser Prozess beispielsweise nur 45% der CPU beanspruchen soll, führen wir Folgendes aus:
cputool --cpu-limit 45 -p 2801
Der Parameter -p gibt den Namen der PID an. Wenn wir den Befehl top erneut ausführen, wird die gesunkene CPU-Auslastung angezeigt:
Um die Verwendung von top zu stoppen, verwenden wir die Tastenkombination Strg + C. Wenn wir eine Gruppe von Prozessen implementieren und steuern möchten, müssen wir zuerst wissen, welche PIDs zusammengesetzt sind.
pidof apache2
Das Ergebnis wird folgendes sein:
Dort können wir den Parameter -P verwenden, um die Verwendung dieser Prozessgruppe einzuschränken:
cputool --cpu-limit 15 -P 1532
Um alle mit CPUTool verfügbaren Optionen anzuzeigen, können Sie den folgenden Befehl verwenden:
Mann cputool
Dank dieses Befehls steuern wir jeden Prozess, der sich auf die Leistung der CPU auswirkt, genau.