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
vmstat
undmpstat
undtop
- Prüfen Sie die Befehlsausgabe von
vmstat
,mpstat
undtop
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
vmstat
ohne Optionen aus.vmstat
Der Befehl generiert einen einzelnen Bericht. Die Ausgabe ist in sechs Abschnitte unterteilt:
procs
,memory
,swap
,io
,system
undcpu
.-
Die ersten beiden Spalten enthalten Informationen zu Prozessen:
-
r
ist die Anzahl der Prozesse in einem Wartezustand. Hierbei handelt es sich um Prozesse, die sich im Leerlauf befinden und auf die Ausführung warten. -
b
ist 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:
-
swpd
ist die Größe des verwendeten virtuellen Speichers. -
free
ist die Größe des inaktiven Speichers. -
buff
ist die Speichermenge, die als Puffer verwendet wird. -
cache
ist die Speichermenge, die als Cache verwendet wird.
-
-
Die nächsten beiden Spalten enthalten Informationen zum Swap-Bereich:
-
si
ist die Speichermenge, die von der Festplatte ausgelagert wurde (pro Sekunde). -
so
ist 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:
-
bi
ist die Anzahl der Blöcke pro Sekunde, die von einem Blockgerät empfangen werden. -
bo
ist die Anzahl der Blöcke pro Sekunde, die an ein Block-Device gesendet werden.
-
-
Die nächsten beiden Spalten enthalten die folgenden Systeminformationen:
-
in
ist die Anzahl der Interrupts pro Sekunde, einschließlich der Uhr. -
cs
ist die Anzahl der Kontextwechsel pro Sekunde.
-
-
Die letzten fünf Spalten geben die Prozentsätze der gesamten CPU-Zeit an:
-
us
ist der Prozentsatz der CPU-Zyklen, die für Benutzerprozesse ausgegeben werden. -
sy
ist der Prozentsatz der CPU-Zyklen, die auf System-(Kernel-)Prozessen ausgegeben werden. -
id
ist der Prozentsatz der CPU-Zyklen, die im Leerlauf verbracht wurden. -
wa
ist der Prozentsatz der CPU-Zyklen, die auf I/O warten. -
st
ist 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 4
aus, um vier Berichte im Abstand von sieben Sekunden auszuführen.vmstat 7 4
Die Zähloption gibt
vmstat
an, 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 -s
aus, um eine Tabelle mit verschiedenen Ereigniszählern und Speicherstatistiken anzuzeigen.vmstat -s
-
Führen Sie den Befehl
vmstat -a
aus, um den aktiven und inaktiven Speicher anzuzeigen.vmstat -a
Mit der Option
-a
wird der Speicherplatzactive
und inaktiv (inact
) im Abschnittmemory
der Ausgabe angezeigt. -
Führen Sie den Befehl
vmstat -f
aus, um die Anzahl der Gabeln seit dem letzten Booten anzuzeigen.vmstat -f
-
Führen Sie den Befehl
vmstat -t
aus, um der Ausgabe einen Zeitstempel hinzuzufügen.vmstat -t
-
Führen Sie den Befehl
vmstat -d
aus, um Statistiken zur Datenträgerauslastung im System anzuzeigen.vmstat -d
-
Führen Sie den Befehl
vmstat -p sda1
aus, um einen Bericht für eine bestimmte Datenträgerpartition zu erstellen.vmstat -p sda1
Die 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
mpstat
ohne Optionen aus.mpstat
In 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:
-
CPU
ist der Prozessor, der durch die Nummer gekennzeichnet ist, die bei0
beginnt, oder das Schlüsselwortall
, das angibt, dass Statistiken als Durchschnittswerte aller Prozessoren berechnet werden. -
%user
ist der Prozentsatz der CPU, die bei der Ausführung von Anwendungen auf Benutzerebene verwendet wird. -
%nice
ist der Prozentsatz der CPU, die bei der Ausführung auf Benutzerebene mit hoher Priorität verwendet wird. -
%sys
ist der Prozentsatz der CPU, die bei der Ausführung auf System-(Kernel-)Ebene verwendet wird.Der Befehl
mpstat
umfasst nicht die Zeit, die für die Wartung von Hardware- und Softwareunterbrechungen aufgewendet wurde. -
%iowait
ist der Prozentsatz der Zeit, die CPUs im Leerlauf waren, während das System eine ausstehende Datenträger-I/O-Anforderung hatte. -
%irq
ist der Prozentsatz der Zeit, die CPUs für die Wartung von Hardwareunterbrechungen aufgewendet haben. -
%soft
ist der Prozentsatz der Zeit, die CPUs für die Wartung von Softwareunterbrechungen aufgewendet haben. -
%steal
ist 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. -
%guest
ist der Prozentsatz der Zeit, den die CPUs für die Ausführung eines virtuellen Prozessors aufgewendet haben. -
%gnice
ist der Prozentsatz der Zeit, den die CPUs für die Ausführung eines Gastes in Kürze aufwenden. -
%idle
ist 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 5
aus, um die CPU-Aktivität alle zwei Sekunden für insgesamt fünf Berichte für alle CPUs anzuzeigen.mpstat 2 5
Die Ausgabe druckt eine Zeile mit Informationen insgesamt fünf Mal und einen Durchschnitt.
-
Führen Sie den Befehl
mpstat -P ALL
aus, um die CPU-Auslastung für jede CPU zu melden.mpstat -P ALL
Diese Ausgabe druckt eine einzelne Aktivitätszeile für alle CPUs und für jede CPU. Hinweis:
mpstat
gibt auch die durchschnittliche CPU-Auslastung für den angegebenen Zeitraum aus. -
Führen Sie den Befehl
mpstat -P ALL 2 5
aus, um die CPU-Aktivität alle zwei Sekunden auf den CPUs anzuzeigen.mpstat -P ALL 2 5
Diese Ausgabe gibt CPU-Auslastungsstatistiken für jede CPU 5 Mal in einem Intervall von 2 Sekunden aus. Hinweis:
mpstat
gibt auch die durchschnittliche CPU-Auslastung für den angegebenen Zeitraum aus. -
Führen Sie den Befehl
mpstat -A
aus, 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
top
ohne Optionen für eine Point-in-Time-Ansicht der CPU-Aktivität aus.top
Die 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
m
ein, um die Speicher- und Swap-Auslastung aus- und einzuschalten. -
Geben Sie
t
ein, 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:
-
PID
ist die eindeutige Prozess-ID der Aufgabe. -
USER
ist der effektive Benutzername des Aufgabeneigentümers. -
PR
ist die tatsächliche Priorität der Aufgabe. -
NI
ist 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.
-
VIRT
ist die Gesamtmenge des von der Aufgabe verwendeten virtuellen Speichers.Dieser Wert umfasst alle Code-, Daten- und Shared Librarys sowie Seiten, die ausgelagert wurden.
-
RES
ist der nicht ausgelagerte physische Speicher oder die Größe eines Residenten, den eine Aufgabe verwendet. -
SHR
ist der Shared Memory, den die Aufgabe verwendet.Dieser Speicher kann potenziell mit anderen Prozessen gemeinsam genutzt werden.
-
S
ist der Status der Aufgabe. Es gibt fünf Zustände:-
D
Ununterbrochener Schlaf -
R
Wird ausgeführt -
S
inaktiv -
T
verfolgt oder gestoppt -
Z
Zombie
-
-
%CPU
ist der Anteil der Aufgabe an der seit dem letzten Bildschirmupdate abgelaufenen CPU-Zeit oder CPU-Auslastung, ausgedrückt als Prozentsatz der gesamten CPU-Zeit. -
%MEM
ist 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. -
COMMAND
ist 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
enabled
lautet, fahren Sie mit der Installation der Toolpackagesstress
fort. Andernfalls fahren Sie mit der Aktivierung des Repositorys fort. -
Aktivieren Sie das Repository mit dem Befehl
dnf conifg-manager
, wenn der Statusdisabled
lautet.dnf config-manager --enable ol8_developer_EPEL
-
-
-
Führen Sie den Befehl
dnf install
aus, um diestress
-Toolpackages zu installieren.dnf install stress -y
-
Führen Sie den Befehl
stress --dry-run
aus, 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 4
undmpstat 4 4
aus, 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 Null0
sein. Beachten Sie auch die Größe des freien Speichers.vmstat 4 4 mpstat 4 4
-
Führen Sie den Befehl
stress --cpu
aus, 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 -ef
aus, um die ausgeführtenstress
-Prozesse anzuzeigen. Pipegen Sie die Ausgabe angrep stress
.ps -ef | grep stress
-
-
Führen Sie den Befehl
vmstat 4 10
aus, und notieren Sie sich die Werte in den Spalten, die mit der CPU-Auslastung verknüpft sind.vmstat 4 10
In wenigen Minuten sollten die Prozentsätze unter der Spalte
us
die vonstress
generierte Last widerspiegeln. -
Führen Sie den Befehl
mpstat 4 10
aus, um die Nutzung aller CPUs auszuwerten.mpstat 4 10
-
Führen Sie den Befehl
mpstat -P ALL 4 10
aus, um die Auslastung jeder CPU auszuwerten.mpstat -P ALL 4 10
-
Führen Sie den Befehl
top
aus, um die CPU-Auslastung durch diestress
-Prozesse zu prüfen.top
Beachten 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
pkill
aus, um diestress
-Prozesse zu beenden.pkill stress
-
Führen Sie die Befehle
vmstat 4 4
undmpstat 4 4
erneut aus, um eine Baseline der Systemaktivität anzuzeigen. -
Führen Sie einen neuen
stress
-Befehl aus, und fügen Sie die Optionen--vm
und--vm-bytes
hinzu, 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 10
undtop
aus, 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 4
undmpstat 4 4
erneut aus, um eine Baseline der Systemaktivität anzuzeigen. -
Führen Sie einen neuen Befehl
stress
aus, und fügen Sie die Option--io
hinzu, 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 10
undtop
aus, 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
, umstress
zu 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.