Die CPU-Leistung ist ein Aspekt der Messung der Leistung eines Systems. Die Überwachung der CPU-Leistung ist wichtig, um Prozesse in jedem System zu debuggen, Systemressourcen zu verwalten, Systementscheidungen zu treffen sowie Systeme in Echtzeit zu bewerten und zu untersuchen.
Es stehen zahlreiche Tools zur Überwachung und Anzeige zur Verfügung CPU-Leistung. Betriebssysteme verfügen über integrierte Systemaufrufe, auf die sich diese Tools stützen, um die Leistungswerte zu extrahieren.
In diesem Lernprogramm werden wir das beste Tool zur Überwachung der CPU-Auslastung und deren Verwendung in Linux-basierten Distributionen untersuchen.
1) Top
Der Befehl top zeigt eine Echtzeitansicht der leistungsbezogenen Daten aller laufenden Prozesse in einem System an. Standardmäßig aktualisiert der Befehl top die Daten alle 5 Sekunden. Geben Sie im Terminal „top“ ein, um die statistischen Daten zur Leistung eines Systems anzuzeigen.
# top
Um die Ausgabe des Befehls top zu ändern, drücken Sie:
„P“ zum Sortieren nach CPU-Auslastung.
„I“ zum Entfernen der inaktiven Prozesse von der Anzeige und zum Zurücksetzen drücken Sie erneut „I“.
„M“ zum Sortieren der Daten nach Speichernutzung.
„S“ zum Sortieren nach der Laufzeit der Prozesse.
„P“ zum Sortieren nach CPU-Auslastung.
„U“ zum Anzeigen von Prozessen, die einem bestimmten Benutzer gehören.
„K“ zum Beenden von Prozessen.
„R“ zum Renice von Prozessen.
2) Iostat
Der Befehl iostat listet die CPU-Auslastung, die Geräteauslastung und die Auslastung des Netzwerkdateisystems auf. Die durchschnittliche CPU-Auslastung dieses Dienstprogramms zeigt das System seit dem letzten Neustart an. Wenn Sie den folgenden Befehl ohne Optionen ausführen, werden alle drei Berichte angezeigt.
# iostat
Um den einzelnen Bericht aufzulisten, verwenden Sie die Schalter -c, -d und -h für die CPU-Auslastung , Gerätenutzung und Auslastung des Netzwerkdateisystems. Der folgende Befehl unterteilt die CPU-Auslastung in Benutzerprozesse, Systemprozesse, E / A-Wartezeit und Leerlaufzeit.
# iostat -c
Der folgende Befehl zeigt erweiterte Statistiken an ( -x), wie oft (-t) jeder Bericht für die CPU-Auslastung angezeigt werden soll (-c).
# iostat -xtc 5 2
3) Vmstat
Der Befehl vmstat zeigt Statistiken zu Systemprozessen, Speicher, Swap, E / A und der CPU-Leistung an. Zur Anzeige von Statistiken werden die Daten vom letzten Ausführen des Befehls bis zur Gegenwart erfasst. Falls der Befehl nie ausgeführt wird, werden die Daten vom letzten Neustart bis zur aktuellen Zeit gespeichert.
Auf mehreren CPU-Systemen mittelt vmstat die Anzahl der CPUs in der Ausgabe. Der Befehl vmstat aktualisiert seine Ausgabe wie der Befehl top.
Der folgende Befehl aktualisiert seinen Bericht alle 5 Sekunden, bis ein Interrupt auftritt.
# vmstat 5
Der folgende Befehl zeigt die Daten an, die alle 5 Sekunden aktualisiert werden, und die Werte werden alle 1 Sekunde neu gemessen und gemeldet.
# vmstat 1 5
Die In der ersten Zeile werden die Durchschnittswerte seit dem letzten Neustart des Computers gedruckt. Die restlichen Zeilen zeigen ihre jeweiligen aktuellen Werte an. Ein normaler Benutzer kann den Befehl vmstat ausführen.
4) Mpstat
Mpstat ist Teil des sysstat-Pakets unter Linux. Der Befehl mpstat schreibt in die Standardausgabe über Aktivitäten für jeden verfügbaren Prozessor, wobei Prozessor 0 der erste ist. Wenn keine Aktivität ausgewählt wurde, ist der Standardbericht der CPU-Auslastungsbericht.
mpstat ohne Option zeigt die globalen durchschnittlichen Aktivitäten aller CPUs an.
# mpstat
mpstat mit der Option -p und „ALL“ listet Statistiken über alle CPUs nacheinander ab 0 auf.
# mpstat -P ALL
Der folgende Befehl wird ausgeführt Listen Sie die durchschnittliche CPU-Auslastung viermal auf, jeweils nach 2 Sekunden.
# mpstat -P ALL 2 4
5) Sar
Der sar ist ein Tool zur Leistungsüberwachung für Sammeln, Anzeigen und Aufzeichnen von Leistungsdaten und Auflisten, was ein System ständig tut. Der Befehl Sar kann einen Bericht erstellen und per E-Mail an den Systemadministrator senden. Die von sar gemeldeten Statistiken umfassen unter anderem E / A-Übertragungsraten, Paging-Aktivitäten, prozessbezogene Aktivitäten, Interrupts, Netzwerkaktivitäten, Speicher- und Swap-Space-Auslastung, CPU-Auslastung, Kernel-Aktivitäten und TTY-Statistiken. Führen Sie sar ohne Option aus und überprüfen Sie die Ausgabe. Die Standardausgabelistenstatistik für alle 10 Minuten und ein endgültiger Durchschnitt.
# sar
Zeigt die CPU-Statistik dreimal im Abstand von 2 Sekunden an.
# sar 2 3
Der folgende Befehl zeigt die kumulative Echtzeit-CPU-Auslastung aller CPUs alle 3 Sekunden insgesamt dreimal an.
# sar -u 2 3
Die Option „-P ALL“ zeigt Statistiken für ALLE einzelnen Kerne an. Wenn Ihr System 4 Kerne hat, enthält die „CPU-Spalte“ die Nummer 0, 1, 2, 3, die die entsprechenden CPU-Kernnummern angibt.Die Option „2 3“ zeigt die Statistiken dreimal alle 2 Sekunden an.
# sar -P ALL 2 3
Die Option „-P 2“ zeigt alle 2 Sekunden Statistiken für den dritten Kern an
# sar -P 2 2 3
6) CoreFreq
CoreFreq ist eine Software zur Überwachung der CPU-Leistung, die für 64-Bit-Prozessoren mit Intel-Architekturen entwickelt wurde Atom, Core2, Nehalem, SandyBridge und Superior, AMD Family. Der CoreFreq bietet ein Framework zum Abrufen von CPU-Daten mit hoher Präzision. Das Kernelmodul, der Daemon und die Userland-Befehlszeilenschnittstelle (CLI) sind die drei Teile von Corefreq. Das Kernelmodul hat vollen Zugriff auf den Host. Es liegt in seiner Verantwortung, die Daten auf niedriger Ebene zu sammeln. Der Userland-Daemon sammelt die Daten. Sie sollten Root-Benutzer sein, um den Daemon auszuführen. Schließlich verfügt CoreFreq über eine Terminalschnittstelle, über die Daten in einem für Menschen lesbaren Format gemeldet werden können. Dieses CLI-Tool ist ein gewöhnlicher Prozess und kann vom Endbenutzer verwendet werden.
Voraussetzung
i) CoreFreq verwendet den Low-Level-Zähler. Daher sollten Sie zuerst den NMI-Watchdog über / deaktivieren etc / default / grub. Bearbeiten Sie / etc / default / grub, fügen Sie das Kernel-Befehlszeilenargument „nmi_watchdog = 0“ hinzu und führen Sie anschließend update-grub aus.
# vi /etc/default/grub
.................... .................... GRUB_CMDLINE_LINUX="nmi_watchdog=0" .................... ....................
# update-grub && reboot
ii) Keine Virtualisierung. VMs bieten keinen Zugriff auf die Register, die der CoreFreq-Treiber verwendet.
CoreFreq installieren
Installieren Sie das Kernelmodul mit insmod
# sudo insmod corefreqk.ko
Listet das CoreFreq-Modul mit lsmod
# lsmod | grep corefreq corefreqk 49152 0
auf. Die Ausgabe des Befehls dmesg zeigt, dass CoreFreq vom Prozessor erkannt wurde.
# sudo dmesg | grep CoreFreq CoreFreq: Processor Architecture CPU
Starten Sie den CoreFreq-Daemon
# sudo ./corefreqd
read more