Wie kann ich die Nutzung meiner Lightsail-Ressourcen von der Befehlszeile aus überwachen?
Meine in Amazon Lightsail gehostete Website oder Anwendung ist ausgefallen oder läuft sehr langsam. Ich möchte meine Lightsail-Ressourcennutzung von der Befehlszeile aus überwachen, um diese Probleme zu beheben.
Kurzbeschreibung
Mehrere Faktoren wirken sich auf Dienste aus, die auf Lightsail-Instances ausgeführt werden, darunter eine hohe Auslastung der Ressourcen. Verwenden Sie gängige Tools, um Ressourcen wie CPU, Arbeitsspeicher, Festplatten-I/O und Netzwerknutzung auf Lightsail-Instances zu überwachen. Dies ist in Echtzeit von der Befehlszeile aus möglich. Die Tools bieten einen detaillierten Überblick, welche Prozesse am meisten CPU, Arbeitsspeicher, Festplatten-I/O oder Netzwerkleistung beanspruchen.
Verwenden Sie folgende Hilfsmittel, um die Ressourcen Ihrer Lightsail-Instance von der Befehlszeile aus zu analysieren und zu überwachen:
- Das Tool atop
- Das Tool htop
- Die Befehle iostat, vmstat und mpstat
Lösung
Das Tool atop
Das Tool atop meldet die Aktivität aller Prozesse, auch wenn diese Prozesse innerhalb des angegebenen Intervalls abgeschlossen wurden. Es protokolliert kontinuierlich alle relevanten Systeminformationen. Aufgrund dieser kontinuierlichen Protokollierung stehen Ihnen bei erneuten Problemen historische Daten zur Verfügung, die Sie analysieren können. Das Tool atop ist in den offiziellen Repositorys der meisten Linux-Distributionen enthalten. Installieren Sie atop, indem Sie die folgenden Befehle ausführen:
Systeme auf Basis von Red Hat
$ sudo yum install atop
Systeme auf Basis von Debian
$ sudo apt install atop
Das Tool atop protokolliert standardmäßig alle Aktivitäten in Intervallen von 600 Sekunden. Führen Sie den folgenden Befehl aus, um die Konfiguration des Tools so zu ändern, dass Aktivitäten in Intervallen von 60 Sekunden protokolliert werden:
Systeme auf Basis von Red Hat
$sudo sed 's/600/60/' /etc/atop/atop.daily -i
Systeme auf Basis von Debian
$ sudo sed 's/600/60/' /etc/default/atop -i
Nachdem Sie den Befehl ausgeführt haben, protokolliert atop alle Aktivitäten innerhalb von 60-Sekunden-Intervallen. Die Daten werden in Protokolldateien in /var/log/atop gespeichert. Diese Dateien haben das Format „atop_jjjjmmtt“. Beispielsweise ist „atop_20230902“ die Aufzeichnung für den 2. September 2023.
Um auf die Protokolldatei zuzugreifen, führen Sie den Befehl atop -r atologfilepath aus. Der Befehl und die Protokolldatei erscheinen im folgenden Beispiel:
atop -r /var/log/atop/atop_20210902 ATOP - ip-172-20-139-91 2021/09/02 17:03:44 ---------------- 3h33m7s elapsed PRC | sys 6.51s | user 7.85s | #proc 103 | #tslpi 81 | #tslpu 0 | #zombie 0 | #exit 0 | CPU | sys 0% | user 3% | irq 0% | idle 197% | wait 0% | ipc notavail | curscal ?% | cpu | sys 0% | user 1% | irq 0% | idle 98% | cpu000 w 0% | ipc notavail | curscal ?% | cpu | sys 0% | user 1% | irq 0% | idle 98% | cpu001 w 0% | ipc notavail | curscal ?% |
In diesem Ausgabebeispiel datiert der erste aufgezeichnete Snapshot auf den 02.09.2021, 17:03:44 Uhr. Drücken Sie die Taste „t“ auf der Tastatur, um zum nächsten Snapshot zu gelangen. Um zum vorherigen Snapshot zurückzukehren, drücken Sie die Taste „T“ (Großbuchstabe „T“).
Die folgenden Optionen werden häufig verwendet, um mit atop zu starten:
Nach Speicher sortieren
$ atop -m
Nach Datenträgerdetails sortieren
$ atop -d
Nach Netzwerkdetails sortieren
$ atop -n
Das Tool htop
Das Tool htop ist eine interaktive Anwendung zur Echtzeit-Prozessüberwachung für Linux, die die Auslastung pro CPU oder Kern anzeigt. Es bietet außerdem ein Textdiagramm der Speicher- und Swap-Nutzung.
Installieren Sie htop, indem Sie die folgenden Befehle ausführen:
Systeme auf Basis von Red Hat
$ sudo yum install htop
Systeme auf Basis von Debian und Ubuntu
$ sudo apt install htop
Verwenden Sie den folgenden Befehl, um htop auf Ihrem System auszuführen:
$ htop
Das Tool htop führt alle aktuell auf dem System laufenden Prozesse auf und gibt an, wie viel CPU und Speicher jeder Prozess verwendet. Ebenso wird der Befehl angezeigt, mit dem jeder Prozess gestartet wurde.
Die Spalten in der Ausgabe sind wie folgt definiert:
- PID: Eine Prozess-ID-Nummer für den Prozess.
- BUSER: Der Prozessbesitzer.
- PR: Die Priorität des Prozesses. Je niedriger die Zahl, desto höher die Priorität.
- NI: Der Nice-Wert des Prozesses, der sich auf seine Priorität auswirkt.
- VIRT: Wie viel virtuellen Speicher der Prozess verwendet.
- RES: Wie viel physischen RAM der Prozess verwendet, gemessen in Kilobyte.
- SHR: Wie viel gemeinsam genutzten Speicher der Prozess verwendet.
- S: Der aktuelle Status des Prozesses.
- CPU: Der Prozentsatz der vom Prozess verwendeten Prozessorzeit.
- MEM: Der Prozentsatz des vom Prozess verwendeten physischen Arbeitsspeichers.
- TIME+: Wie viel Prozessorzeit der Prozess verwendet hat.
- COMMAND: Der Name des Befehls, der den Prozess gestartet hat.
Die Befehle iostat, vmstat und mpstat
Die Befehle iostat, vmstat und mpstat sind Teil des sysstat-Pakets. Verwenden Sie die folgenden Befehle, um diese Tools in Ihrer Lightsail-Instance zu installieren:
Systeme auf Basis von Red Hat wie Amazon Linux, CentOS oder RHEL
$ sudo yum install sysstat
Debian und Ubuntu
$ sudo apt-get install sysstat
Verwenden Sie die folgenden Befehle, um sysstat für die kontinuierliche Datenerfassung zu starten und einzurichten:
$ sudo systemctl start sysstat
$ sudo systemctl enable sysstat
Der Befehl „iostat“
Der Befehl iostat sammelt und zeigt Systemeingabe- und -ausgabestatistiken für Speichergeräte an. Dieses Tool wird häufig verwendet, um Leistungsprobleme von Speichergeräten, einschließlich Geräten und Festplatten, zu verfolgen. Die folgenden Iostat-Optionen werden häufig verwendet:
- iostat: Berichte und Statistiken abrufen.
- iostat -x: Zeigt detailliertere Statistiken an.
- iostat -c: Zeigt nur die CPU-Statistik an.
- iostat -d: Zeigt nur den Gerätebericht an.
- iostat -xd: Zeigt erweiterte I/O-Statistiken nur für das Gerät an.
Nachfolgend sehen Sie eine Beispielausgabe des iostat-Befehls:
$ iostat Linux 4.14.246-187.474.amzn2.x86_64 10/22/2021 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 5.34 0.00 1.36 1.06 1.67 90.58 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn xvda 41.64 1496.90 890.16 502148 298612
Der Befehl „vmstat“
Der Befehl vmstat (Virtual Memory Statistics) zeigt Informationen über Systemspeicher, Prozesse, Interrupts, Paging und Block-I/O an. Mit dem Befehl vmstat können Sie ein Erfassungsintervall angeben, um die Systemaktivität nahezu in Echtzeit zu beobachten. Nachfolgend sehen Sie eine Beispielausgabe des vmstat-Befehls:
$ vmstat 2 5 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 3 0 0 1409320 2088 485404 0 0 568 724 232 393 4 2 93 1 1 0 0 0 1409332 2088 485404 0 0 0 67 146 261 0 0 100 0 0 0 0 0 1408916 2088 485404 0 0 0 0 157 276 0 0 100 0 0 0 0 0 1408980 2088 485408 0 0 0 0 161 259 0 0 100 0 0 0 0 0 1408984 2088 485408 0 0 0 0 105 190 0 0 100 0 0
Die folgenden Optionen werden häufig mit dem vmstat-Befehl verwendet:
Die Option -a zeigt den aktiven und inaktiven Speicher des Systems an:
$ vmstat -a procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free inact active si so bi bo in cs us sy id wa st 2 0 0 1402016 311232 218864 0 0 60 77 74 129 0 0 99 0 0
Die Option -d meldet Festplattenstatistiken:
$ vmstat -d disk- ------------reads------------ ------------writes----------- -----IO------ total merged sectors ms total merged sectors ms cur sec nvme0n1 7728 25 433681 4544 3133 93 555950 4196 0 1
Der Befehl „mpstat“ dient zur Anzeige von Leistungsstatistiken für alle logischen Prozessoren im System. Wenn Sie den Befehl mpstat ohne Optionen ausführen, wird ein einziger Bericht generiert, der die Leistungsstatistiken für alle logischen Prozessoren seit dem Systemstart enthält.
$ mpstat Linux 4.18.0-305.el8.x86_64 (ip-xxx-xx-x-xx.ec2.internal) 10/27/2021 _x86_64_ (2 CPU) 04:23:26 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 04:23:26 PM all 8.42 0.13 2.43 1.49 0.18 0.05 0.22 0.00 0.00 87.08
Die erste Zeile im vorherigen Beispiel besteht aus einer Reihe von Spaltenbeschriftungen. Die zweite Zeile ist der Wert für jede Spalte:
- %usr: % CPU-Auslastung auf Benutzerebene.
- %nice: % CPU-Auslastung für Benutzerprozesse, die als „nice“ gekennzeichnet sind.
- %sys: % CPU-Auslastung auf Systemebene (Linux-Kernel).
- %iowait: % CPU-Auslastung im Leerlauf beim Warten auf eine Festplatte mit Lese-/Schreibzugriff.
- %irq: % CPU-Auslastung, die Hardware-Interrupts verarbeitet.
- %soft: % CPU-Auslastung, die Software-Interrupts verarbeitet.
- %steal: % CPU-Auslastung, die gezwungen ist, auf einen Hypervisor zu warten, der andere virtuelle Prozessoren verarbeitet.
- %guest: % CPU-Auslastung, die für einen virtuellen Prozessor aufgewandt wird.
- Leerlauf: % CPU-Auslastung während der Leerlaufzeit (keine Prozesse und kein Warten auf eine Festplatte mit Lese-/Schreibzugriff).
Nutzen Sie die genannten Befehlszeilentools, um Prozesse mit hohem Ressourcenverbrauch zu identifizieren. Verwenden Sie die ermittelten Informationen, um Instances mit ausreichenden Ressourcen für Ihre Arbeitslast auszuwählen.
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 3 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 3 Jahren
- AWS OFFICIALAktualisiert vor einem Jahr