Hinweis:
- Dieses Tutorial steht in einer von Oracle bereitgestellten kostenlosen Übungsumgebung zur Verfügung.
- Er verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, Mandanten und Compartments. Ersetzen Sie diese Werte beim Durchführen Ihrer Übung durch spezifische Werte für Ihre Cloud-Umgebung.
Systemressourcen auf Oracle Linux überwachen
Einführung
In diesem Tutorial arbeiten Sie mit Oracle Linux vmstat, mpstat und top zusammen, um die Systemressourcennutzung zu überwachen. Die Überwachung der Verwendung von Systemresourses ist nützlich, um Probleme zu erkennen, die sich negativ auf die Systemperformance auswirken können.
Hintergrund
Oracle Linux bietet Tools für die Überwachung und Analyse der Systemressourcennutzung sowie für das Tracing von Tools zur Diagnose von Performanceproblemen in mehreren Prozessen und zugehörigen Threads.
Ziele
- Prüfen Sie den Befehl
vmstat - Prüfen Sie den Befehl
mpstat - Prüfen Sie den Befehl
top - Verwenden Sie
vmstatundmpstatundtop - Prüfen Sie die Befehlsausgabe von
vmstat,mpstatundtop
Voraussetzungen
Ein Clientsystem mit Oracle Linux 8 oder höher.
Hinweis: Bei der Verwendung der kostenlosen Übungsumgebung finden Sie unter Oracle Linux Lab Basics für Verbindungen und weitere Verwendungsanweisungen.
Prüfen und verwenden Sie die Befehlsoptionen vmstat
vmstat zeigt, wie viel virtueller Speicher vorhanden ist und wie viel frei ist. Der Befehl zeigt auch Paging-Aktivitäten an. Sie können Page-ins und Page-outs beobachten, wie sie im System auftreten.
Möglicherweise sollten Sie den Anzeigebereich maximieren, indem Sie die Steuerelemente Schritte ausblenden und Vollständiger Bildschirm in der Taskleiste verwenden, wie in den Bildern dargestellt.

Im folgenden Video erhalten Sie einen Überblick über vmstat.
-
Führen Sie den Befehl
vmstatohne Optionen aus.vmstatDer Befehl generiert einen einzelnen Bericht. Die Ausgabe ist in sechs Abschnitte unterteilt:
procs,memory,swap,io,systemundcpu.-
Die ersten beiden Spalten enthalten Informationen zu Prozessen:
-
rist die Anzahl der Prozesse in einem Wartezustand. Hierbei handelt es sich um Prozesse, die sich im Leerlauf befinden und auf die Ausführung warten. -
bist die Anzahl der Prozesse, die sich im Ruhezustand befanden und seit der letzten Aktualisierung unterbrochen wurden.
-
-
Die nächsten vier Spalten geben Informationen zum Speicher:
-
swpdist die Größe des verwendeten virtuellen Speichers. -
freeist die Größe des inaktiven Speichers. -
buffist die Speichermenge, die als Puffer verwendet wird. -
cacheist die Speichermenge, die als Cache verwendet wird.
-
-
Die nächsten beiden Spalten enthalten Informationen zum Swap-Bereich:
-
siist die Speichermenge, die von der Festplatte ausgelagert wurde (pro Sekunde). -
soist die Speichermenge, die auf den Datenträger ausgelagert wurde (pro Sekunde).si- undso-Nummern ungleich null geben an, dass nicht genügend physischer Speicher vorhanden ist, wodurch der Kernel Speicher auf die Festplatte auslagert.
-
-
In den nächsten beiden Spalten wird "Eingabe/Ausgabe" angezeigt:
-
biist die Anzahl der Blöcke pro Sekunde, die von einem Blockgerät empfangen werden. -
boist die Anzahl der Blöcke pro Sekunde, die an ein Block-Device gesendet werden.
-
-
Die nächsten beiden Spalten enthalten die folgenden Systeminformationen:
-
inist die Anzahl der Interrupts pro Sekunde, einschließlich der Uhr. -
csist die Anzahl der Kontextwechsel pro Sekunde.
-
-
Die letzten fünf Spalten geben die Prozentsätze der gesamten CPU-Zeit an:
-
usist der Prozentsatz der CPU-Zyklen, die für Benutzerprozesse ausgegeben werden. -
syist der Prozentsatz der CPU-Zyklen, die auf System-(Kernel-)Prozessen ausgegeben werden. -
idist der Prozentsatz der CPU-Zyklen, die im Leerlauf verbracht wurden. -
waist der Prozentsatz der CPU-Zyklen, die auf I/O warten. -
stist der Prozentsatz der CPU-Zyklen, die von einer virtuellen Maschine gestohlen wurden.
-
-
-
Führen Sie den Befehl
vmstat 1(numerisch und nicht den Kleinbuchstabenl) aus, um einen fortlaufenden Bericht für jede Sekunde anzuzeigen.vmstat 1- Klicken Sie zum Beenden auf Ctrl+C.
-
Führen Sie den Befehl
vmstat 7 4aus, um vier Berichte im Abstand von sieben Sekunden auszuführen.vmstat 7 4Die Zähloption gibt
vmstatan, wie viele Berichte ausgeführt werden sollen (4), und die Verzögerungsoption (7) ist das Zeitintervall zwischen den einzelnen Berichten. -
Führen Sie den Befehl
vmstat -saus, um eine Tabelle mit verschiedenen Ereigniszählern und Speicherstatistiken anzuzeigen.vmstat -s -
Führen Sie den Befehl
vmstat -aaus, um den aktiven und inaktiven Speicher anzuzeigen.vmstat -aMit der Option
-awird der Speicherplatzactiveund inaktiv (inact) im Abschnittmemoryder Ausgabe angezeigt. -
Führen Sie den Befehl
vmstat -faus, um die Anzahl der Gabeln seit dem letzten Booten anzuzeigen.vmstat -f -
Führen Sie den Befehl
vmstat -taus, um der Ausgabe einen Zeitstempel hinzuzufügen.vmstat -t -
Führen Sie den Befehl
vmstat -daus, um Statistiken zur Datenträgerauslastung im System anzuzeigen.vmstat -d -
Führen Sie den Befehl
vmstat -p sda1aus, um einen Bericht für eine bestimmte Datenträgerpartition zu erstellen.vmstat -p sda1Die Ausgabe enthält eine Zusammenfassung für die Partition, einschließlich der Anzahl der Lese- und Schreibvorgänge.
Prüfen und verwenden Sie die Befehlsoptionen mpstat
Mit dem Befehl mpstat können Sie Performancestatistiken für alle logischen CPUs im System erfassen und anzeigen. Wenn eine CPU von einem Prozess belegt wird, ist sie für die Verarbeitung anderer Anforderungen nicht verfügbar. Diese anderen Prozesse müssen warten, bis die CPU frei ist.
Im folgenden Video erhalten Sie einen Überblick über mpstat.
-
Führen Sie den Befehl
mpstatohne Optionen aus.mpstatIn der ersten Zeile werden Linux-Kernelversion, Hostname, aktuelles Datum, Architektur und Anzahl der CPUs in Ihrem System angezeigt.
Die erste Spalte in der nächsten Zeile enthält einen Zeitstempel, wobei die verbleibenden Spalten wie folgt definiert sind:
-
CPUist der Prozessor, der durch die Nummer gekennzeichnet ist, die bei0beginnt, oder das Schlüsselwortall, das angibt, dass Statistiken als Durchschnittswerte aller Prozessoren berechnet werden. -
%userist der Prozentsatz der CPU, die bei der Ausführung von Anwendungen auf Benutzerebene verwendet wird. -
%niceist der Prozentsatz der CPU, die bei der Ausführung auf Benutzerebene mit hoher Priorität verwendet wird. -
%sysist der Prozentsatz der CPU, die bei der Ausführung auf System-(Kernel-)Ebene verwendet wird.Der Befehl
mpstatumfasst nicht die Zeit, die für die Wartung von Hardware- und Softwareunterbrechungen aufgewendet wurde. -
%iowaitist der Prozentsatz der Zeit, die CPUs im Leerlauf waren, während das System eine ausstehende Datenträger-I/O-Anforderung hatte. -
%irqist der Prozentsatz der Zeit, die CPUs für die Wartung von Hardwareunterbrechungen aufgewendet haben. -
%softist der Prozentsatz der Zeit, die CPUs für die Wartung von Softwareunterbrechungen aufgewendet haben. -
%stealist der Prozentsatz der Zeit, die bei unfreiwilligem Warten durch die virtuelle CPU oder CPUs verbracht wurde, während der Hypervisor einen anderen virtuellen Prozessor bedient hat. -
%guestist der Prozentsatz der Zeit, den die CPUs für die Ausführung eines virtuellen Prozessors aufgewendet haben. -
%gniceist der Prozentsatz der Zeit, den die CPUs für die Ausführung eines Gastes in Kürze aufwenden. -
%idleist der Prozentsatz der Zeit, während dessen die CPU (oder die CPUs) im Leerlauf war und das System keine ausstehende Datenträger-I/O-Anforderung hatte.
-
-
Führen Sie den Befehl
mpstat 2 5aus, um die CPU-Aktivität alle zwei Sekunden für insgesamt fünf Berichte für alle CPUs anzuzeigen.mpstat 2 5Die Ausgabe druckt eine Zeile mit Informationen insgesamt fünf Mal und einen Durchschnitt.
-
Führen Sie den Befehl
mpstat -P ALLaus, um die CPU-Auslastung für jede CPU zu melden.mpstat -P ALLDiese Ausgabe druckt eine einzelne Aktivitätszeile für alle CPUs und für jede CPU. Hinweis:
mpstatgibt auch die durchschnittliche CPU-Auslastung für den angegebenen Zeitraum aus. -
Führen Sie den Befehl
mpstat -P ALL 2 5aus, um die CPU-Aktivität alle zwei Sekunden auf den CPUs anzuzeigen.mpstat -P ALL 2 5Diese Ausgabe gibt CPU-Auslastungsstatistiken für jede CPU 5 Mal in einem Intervall von 2 Sekunden aus. Hinweis:
mpstatgibt auch die durchschnittliche CPU-Auslastung für den angegebenen Zeitraum aus. -
Führen Sie den Befehl
mpstat -Aaus, um die CPU-Auslastung zu drucken und die Statistiken in derselben Befehlsausgabe zu unterbrechen.mpstat -A
Prüfen Sie den Befehl top
Der Befehl top bietet eine fortlaufende Ansicht der Prozessoraktivität in Echtzeit. top zeigt eine Liste der CPU-intensivsten Prozesse oder Aufgaben auf dem System an und stellt eine begrenzte interaktive Schnittstelle zur Bearbeitung von Prozessen bereit.
Im folgenden Video erhalten Sie einen Überblick über top.
-
Führen Sie den Befehl
topohne Optionen für eine Point-in-Time-Ansicht der CPU-Aktivität aus.topDie Ausgabe wird standardmäßig alle drei Sekunden aktualisiert und in zwei Hauptabschnitte unterteilt.
Im oberen Abschnitt werden allgemeine Informationen wie die Lastdurchschnittswerte in den letzten 1, 5 und 15 Minuten, die Anzahl der ausgeführten und inaktiven Aufgaben sowie die gesamte CPU- und Speicherauslastung angezeigt.
-
Mit dem folgenden Befehl können Sie die im oberen Abschnitt angezeigte Ausgabe ein- oder ausschalten:
-
Geben Sie den Kleinbuchstaben
l(Nicht numerisch1) ein, um den durchschnittlichen Lade- und Betriebszeitwert umzuschalten. -
Geben Sie
mein, um die Speicher- und Swap-Auslastung aus- und einzuschalten. -
Geben Sie
tein, um die Speicher- und Swap-Auslastung aus- und einzuschalten.
-
Im unteren Abschnitt wird eine sortierte Liste von Prozessen angezeigt, in der Regel nach CPU-Auslastung, zusammen mit Prozess-ID-Nummern (PIDs) und dem Benutzer, der Eigentümer des Prozesses ist. Darüber hinaus zeigen die Ausgaben Laufzeit und Speicher an, die von den Prozessen verwendet werden.
Im Folgenden werden die Spalten im unteren Abschnitt beschrieben:
-
PIDist die eindeutige Prozess-ID der Aufgabe. -
USERist der effektive Benutzername des Aufgabeneigentümers. -
PRist die tatsächliche Priorität der Aufgabe. -
NIist der schöne Wert der Aufgabe im Benutzerbereich.Ein negativer Wert bedeutet eine höhere Priorität, und ein positiver Wert bedeutet eine niedrigere Priorität. Der Wert Null bedeutet, dass die Priorität einer Aufgabe bei ihrer Ausführung nicht wirksam ist.
-
VIRTist die Gesamtmenge des von der Aufgabe verwendeten virtuellen Speichers.Dieser Wert umfasst alle Code-, Daten- und Shared Librarys sowie Seiten, die ausgelagert wurden.
-
RESist der nicht ausgelagerte physische Speicher oder die Größe eines Residenten, den eine Aufgabe verwendet. -
SHRist der Shared Memory, den die Aufgabe verwendet.Dieser Speicher kann potenziell mit anderen Prozessen gemeinsam genutzt werden.
-
Sist der Status der Aufgabe. Es gibt fünf Zustände:-
DUnunterbrochener Schlaf -
RWird ausgeführt -
Sinaktiv -
Tverfolgt oder gestoppt -
ZZombie
-
-
%CPUist der Anteil der Aufgabe an der seit dem letzten Bildschirmupdate abgelaufenen CPU-Zeit oder CPU-Auslastung, ausgedrückt als Prozentsatz der gesamten CPU-Zeit. -
%MEMist der aktuell verwendete Anteil des verfügbaren physischen Speichers oder der Speicherauslastung der Aufgabe. -
TIME+ist die gesamte CPU-Zeit, die seit dem Start der Aufgabe verwendet wurde. -
COMMANDist der Befehlszeilen- oder Programmname zum Starten einer Aufgabe.
-
-
Beenden Sie
top, indem Sie Crtl+C eingeben.
Befehlsausgabe von vmstat, mpstat und top vergleichen
In dieser Übung führen Sie verschiedene stress-Tests aus, um verschiedene Lasten in Ihrem Übungssystem zu emulieren. Verwenden Sie dann die Befehle vmstat, mpstat und top, um zu bestimmen, was sie für die verschiedenen Ladetypen melden.
Auch wenn Sie die Tests als Hintergrundprozesse ausführen, sollten Sie zusätzliche Terminalfenster für Ihre Vergleiche öffnen.
Für jedes zusätzliche Fenster müssen Sie sich mit ssh bei der Übungsinstanz bei oracle@<IP_ADDRESS_OF_COMPUTE_INSTANCE> anmelden. Dabei ist <IP_ADDRESS_OF_COMPUTE_INSTANCE> die von der Oracle Cloud-Konsole kopierte IP-Adresse.
- Verwenden Sie nach der Anmeldung den Befehl
sudo -i, um zum Root-Benutzer zu wechseln.
-
Installieren Sie das Tool
stress.-
Verwenden Sie den Befehl
dnf repolist, um den Status desol8_developer_EPEL-Repositorys zu prüfen.dnf repolist ol8_developer_EPEL-
Wenn der Status
enabledlautet, fahren Sie mit der Installation der Toolpackagesstressfort. Andernfalls fahren Sie mit der Aktivierung des Repositorys fort. -
Aktivieren Sie das Repository mit dem Befehl
dnf conifg-manager, wenn der Statusdisabledlautet.dnf config-manager --enable ol8_developer_EPEL
-
-
-
Führen Sie den Befehl
dnf installaus, um diestress-Toolpackages zu installieren.dnf install stress -y -
Führen Sie den Befehl
stress --dry-runaus, um ein Beispiel der Befehlssyntax anzuzeigen. Nehmen Sie sich einen Moment Zeit, und prüfen Sie die Optionen im Beispiel zusammen mit den anderen aufgeführten Befehlsoptionen.stress --dry-run -
Führen Sie die Befehle
vmstat 4 4undmpstat 4 4aus, um eine Baseline der Systemaktivität anzuzeigen. Beachten Sie insbesondere die CPU-Prozentsätze, die Benutzer- und Systemprozessen (Kernel) zugewiesen sind. Diese Spalte muss nahe Null0sein. Beachten Sie auch die Größe des freien Speichers.vmstat 4 4 mpstat 4 4 -
Führen Sie den Befehl
stress --cpuaus, um ein rechengebundenes Programm zu emulieren und den Befehl im Hintergrund auszuführen. Mit diesem Befehl werden acht rechengebundene Prozesse gestartet.stress --cpu 8 &-
Klicken Sie auf Zurück, um zur Eingabeaufforderung zurückzukehren.
-
Führen Sie den Befehl
ps -efaus, um die ausgeführtenstress-Prozesse anzuzeigen. Pipegen Sie die Ausgabe angrep stress.ps -ef | grep stress
-
-
Führen Sie den Befehl
vmstat 4 10aus, und notieren Sie sich die Werte in den Spalten, die mit der CPU-Auslastung verknüpft sind.vmstat 4 10In wenigen Minuten sollten die Prozentsätze unter der Spalte
usdie vonstressgenerierte Last widerspiegeln. -
Führen Sie den Befehl
mpstat 4 10aus, um die Nutzung aller CPUs auszuwerten.mpstat 4 10 -
Führen Sie den Befehl
mpstat -P ALL 4 10aus, um die Auslastung jeder CPU auszuwerten.mpstat -P ALL 4 10 -
Führen Sie den Befehl
topaus, um die CPU-Auslastung durch diestress-Prozesse zu prüfen.topBeachten Sie nach einigen Minuten, dass die
stress-Prozesse mit der höchsten Priorität ausgeführt werden. Beenden Sietop, indem Sie Ctrl+C eingeben. -
Führen Sie den Befehl
pkillaus, um diestress-Prozesse zu beenden.pkill stress -
Führen Sie die Befehle
vmstat 4 4undmpstat 4 4erneut aus, um eine Baseline der Systemaktivität anzuzeigen. -
Führen Sie einen neuen
stress-Befehl aus, und fügen Sie die Optionen--vmund--vm-byteshinzu, um die Speicheraktivität im System zu starten.stress --cpu 8 --vm 8 --vm-bytes 512M & -
Führen Sie
vmstat 4 10,mpstat -P ALL 4 10undtopaus, um die CPU- und Speicheraktivität auszuwerten.vmstat 4 10 mpstat -P ALL 4 10 top- Beenden Sie
top, indem Sie Crtl+C eingeben.
- Beenden Sie
-
Verwenden Sie den Befehl
pkill, um diestress-Prozesse zu beenden.pkill stress -
Führen Sie die Befehle
vmstat 4 4undmpstat 4 4erneut aus, um eine Baseline der Systemaktivität anzuzeigen. -
Führen Sie einen neuen Befehl
stressaus, und fügen Sie die Option--iohinzu, um die Eingabe-/Ausgabeaktivität im System zu starten.stress --cpu 8 --vm 8 --vm-bytes 512M --io 8 & -
Führen Sie
vmstat 4 10,mpstat -P ALL 4 10undtopaus, um die CPU-, Speicher-, Eingabe-/Ausgabeaktivität auszuwerten.vmstat 4 10 mpstat -P ALL 4 10 top-
Beenden Sie
top, indem Sie Crtl+C eingeben. -
Verwenden Sie
pkill, umstresszu beenden.
-
Weitere Lernressourcen
Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere Inhalte für kostenloses Lernen im Oracle Learning YouTube-Kanal zu. Außerdem besuchen Sie education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.
Produktdokumentation finden Sie im Oracle Help Center.
Monitor system resources on Oracle Linux
F49882-04
May 2022
Copyright © 2021, Oracle and/or its affiliates.