Im Folgenden finden Sie eine Liste der Betriebssystembefehle, abgesehen von grundlegenden Befehlen, die bei der Diagnose der Probleme am Ende des Betriebssystems nützlich sind, die die langsame Leistung verursachen. Bitte beachten Sie, dass alle oben genannten Befehle nur in einer Linux-Umgebung getestet wurden.
Wenn Sie bereit sind, Ihre Leistungsprobleme aufzuspüren, finden Sie hier einige Tools, die Ihnen den Einstieg erleichtern:
- sar :Wenn das sysstat-Paket installiert ist, verwenden Sie den Befehl sar, um Aktivitätsinformationen für eine Reihe von Systemfunktionen anzuzeigen oder um einen Eindruck von der Ressourcennutzung im Laufe der Zeit zu bekommen. Nach der Installation sammeln sysstat-Cron-Jobs alle 10 Minuten Systemdaten, die später mit dem Befehl sar angezeigt werden können. Mit sar können Sie dieselben Datentypen auch live anzeigen.
- dstat :Als Ersatz für vmstat, iostat und ifstat geschaffen, bietet dstat viele Optionen zum Kombinieren und Anzeigen verschiedener Arten von Systemdaten. Es zeigt Daten in Farbe an und ermöglicht es Ihnen, verschiedene Informationen in den von Ihnen gewählten Spalten darzustellen. Mit dstat können Sie Statistiken über die CPU Ihres Systems, Festplatten-E/A, Netzwerkaktivität, Paging, Interrupts, Lastdurchschnitte, Speicher, Prozesse, Zeitzähler und Dateisysteme anzeigen. Verwenden Sie dstat, um Live-Systemaktivitäten für verschiedene Arten von Ressourcen zu vergleichen. Beispielsweise können Sie beim Herunterladen großer Dateien die Netzwerk- und Festplattenaktivität vergleichen.
- ps :Der Befehl ps ist die übliche Methode, um zu sehen, welche Prozesse ausgeführt werden. In Kombination mit Optionen können Sie mit ps auswählen, welche Spalten für jeden Prozess angezeigt werden sollen, und Daten nach einer dieser Spalten sortieren. Verwenden Sie ps, um Informationen über alle oder beliebige Prozesse anzuzeigen, die derzeit auf Ihrem System ausgeführt werden.
- oben :Mit top sehen Sie eine bildschirmorientierte Darstellung der auf Ihrem System laufenden Prozesse, die alle paar Sekunden aktualisiert wird. Sie können nach CPU- oder Speicherauslastung sortieren und Prozesse beenden oder beenden. Verwenden Sie top, um sofort Ihre verbrauchsintensivsten Prozesse zu finden.
- iostat :In erster Linie können Sie mit iostat E/A-Statistiken für Geräte (wie Festplatten und Netzwerkschnittstellen) anzeigen. Dies ist hilfreich, um nach E/A-Engpässen zu suchen, da Daten als Prozentsatz der Lese-/Schreibkapazität des Geräts angezeigt werden.
- mpstat :Der Befehl mpstat listet die CPU-Auslastung auf. Verwenden Sie mpstat, um zu sehen, wie viel CPU verbraucht wird, und um eine allgemeine Vorstellung davon zu bekommen, woher dieser Verbrauch kommt.
- vmstat :Speicherstatistiken mit dem Befehl vmstat auflisten. Wenn die Leistung schlecht ist, verwenden Sie vmstat, um zu sehen, ob der Speicher erschöpft ist und ob das System übermäßig auslagert.
- iptraf :Führen Sie für ein grafisches Tool zur Überwachung des Netzwerkverkehrs den Befehl iptraf aus. Verwenden Sie iptraf, um zu sehen, welche spezifischen IP-Adressen den meisten Netzwerkverkehr zu und von Ihrem System generieren.
- tcpdump :Mit diesem textbasierten Tool können Sie Pakete beobachten, die ausgewählte Netzwerkschnittstellen treffen, und diese Pakete optional filtern, um nach bestimmten Arten von Aktivitäten zu suchen. Verwenden Sie tcpdump, um Leistungsprobleme im Zusammenhang mit bestimmten Diensten aufzuspüren – Sie können festlegen, dass nur Pakete angezeigt werden, die für einen bestimmten Dienst bestimmt sind.
- Wireshark :Dieses Tool ist eine grafische Version von tcpdump mit vielen Analysefunktionen. Das Tool unterstützt die Dekodierung vieler häufig verwendeter Protokolle und deren Anzeige in einer interaktiven grafischen Benutzeroberfläche.
Lassen Sie uns nun einige der Tools, die wir gerade aufgelistet haben, genauer untersuchen.
1. „iotop“-Befehlsausgabe für die Linux-Umgebung.
Der Befehl iotop ist ein Top-ähnliches Dienstprogramm für Festplatten-I/O. Es überwacht die vom Linux-Kernel ausgegebenen E/A-Nutzungsinformationen (erfordert v2.6.20 oder höher) und zeigt eine Tabelle der aktuellen E/A-Nutzung durch Prozesse oder Threads auf dem System an. Dazu muss der Root-Benutzer den Befehl ausführen.
2. Um die Dateisystem-Cache-Informationen zu sammeln, verwenden Sie die „free“-Befehlsausgabe, um die Dateisystem-Cache-Nutzung abzurufen:
- "free"-Befehl, um die Speichernutzung zu überprüfen.
- „Puffer“ geben an, wie viel RAM-Anteil dem Cache-Festplattenblock gewidmet ist. „Cached“ ist ähnlich wie „Buffers“, nur dass diesmal Seiten vom Lesen von Dateien zwischengespeichert werden.
- Ein Puffer ist etwas, das noch auf die Festplatte „geschrieben“ werden muss.
- Ein Cache ist etwas, das von der Festplatte „gelesen“ und zur späteren Verwendung gespeichert wurde.
3. Um die Liste der Betriebssystem-Patches zu überprüfen, die unter Linux angewendet werden, verwenden Sie den folgenden Befehl. Dies wird helfen, die Änderungen zu identifizieren, die CT in der Vergangenheit vorgenommen hat:
# rpm -qa --last > last-rpms.txtHinweis :Liste mit angewendeten Patches mit Datum und Uhrzeit.
4. Um die Informationen über Speicher/CPU/IO/NUMA usw. für alle Änderungen von der dmesg-Ausgabe zu sammeln. Kann alle 30 Sekunden eingesammelt werden:
– So zeigen Sie Hardwareinformationen zum Ethernet-Port eth0 an:
$ dmesg | grep -i eth0
– So zeigen Sie den verfügbaren Gesamtspeicher und Details zum gemeinsam genutzten Speicher an:
$ dmesg | grep -i Memory
– So zeigen Sie tty-Informationen an:
$ dmesg | grep -i tty
– So zeigen Sie NUMA-Informationen an:
$ dmesg | grep -i numa
– So zeigen Sie Festplatteninformationen an:
$ dmesg | grep -i sda
– So zeigen Sie CPU-bezogene Informationen an:
$ dmesg | grep -i CPU
5. So erfassen Sie das Protokoll für globale Systemmeldungen:
/var/log/messages /var/log/dmesg
Der Befehl dmesg zeigt den aktuellen Inhalt der Kernel-Syslog-Ringpuffermeldungen, während die Datei /var/log/dmesg enthält, was sich in diesem Ringpuffer befand, als der Bootvorgang zuletzt abgeschlossen wurde. /var/log/dmesg bleibt bis zum nächsten Neustart unverändert. Alte Nachrichten werden durch neue Nachrichten im Ringpuffer ersetzt.
dmesg ist die Teilmenge von /var/log/messages und wird im Ringpuffer verwaltet. /var/log/messages enthält alle Systemmeldungen, einschließlich vom Start des Systems, zusammen mit den Meldungen in dmesg. Kurz gesagt, Protokolle von dmesg werden in /var/log/messages abgelegt.
Allgemeine Namen und Verwendung von Linux-Protokolldateien:
- /var/log/messages :Allgemeine Meldung und systembezogenes Zeug
- /var/log/auth.log :Authentifizierungsprotokolle
- /var/log/kern.log :Kernel-Protokolle
- /var/log/cron.log :Crond-Protokolle (Cron-Job)
- /var/log/maillog :Protokolle des Mailservers
- /var/log/qmail/ :Qmail-Protokollverzeichnis (weitere Dateien in diesem Verzeichnis)
- /var/log/httpd/ :Apache-Verzeichnis für Zugriffs- und Fehlerprotokolle
- /var/log/lightpd/ :Lighttpd-Zugriffs- und Fehlerprotokollverzeichnis
- /var/log/boot.log :Systemstartprotokoll
- /var/log/mysqld.log :Protokolldatei des MySQL-Datenbankservers
- /var/log/secure oder /var/log/auth.log :Authentifizierungsprotokoll
- /var/log/utmp oder /var/log/wtmp :Anmeldeaufzeichnungsdatei
- /var/log/yum.log :Protokolldatei des Yum-Befehls.
6. Um zu prüfen, ob Hugepages verwendet werden. Nur am Anfang und am Ende der OSW-Erfassung auszuführen:
# grep -i Hugepages /proc/meminfo # cat /proc/meminfo
7. So überprüfen Sie das vom Betriebssystem verwendete Dateisystem. Nur einmal auszuführen:
# cat /etc/fstab
8. Um die Informationen über die Systemaktivität der letzten Woche zu sammeln:
/var/log/sa enthält Dateien für sa und sar, die Informationen zum Verlauf der CPU-Nutzung enthalten.
# ls -al /var/log/sa | grep "Mar 12" -rw-r--r--. 1 root root 721996 Mar 12 23:50 sa12 -rw-r--r--. 1 root root 655607 Mar 12 23:53 sar12
„sar -W -f /var/log/sa/sa12“ – zeigt Paging-/Swap-Verlaufsinformationen an
# less /var/log/sa/sa12
9. So erhalten Sie die CPU-Arch-Informationen:
# lscpu # cat /proc/cpuinfo
10. So erhalten Sie Informationen zu Kernel Shared Memory/Semaphores:
# ipcs -lm # ipcs -ls # cat /proc/sys/kernel/shmmax # cat /proc/sys/kernel/shmmni getconf PAGE_SIZE # cat /proc/sys/kernel/shmall
11. Um Informationen über Datei-Handles zu erhalten:
# cat /proc/sys/fs/file-max # cat /proc/sys/fs/file-nr
12. Um Informationen über ulimit für Open file descriptors/maxproc zu erhalten:
# su - oracle # ulimit -n # ulimit -u
13. So prüfen Sie die maximale IO-Größe pro IO-Request:
# cat /sys/block/[device]/queue/max_sectors_kb
So bestimmen Sie die maximale I/O-Größe in Bytes, wenn Asynch IO verwendet wird:
# cat /proc/sys/fs/aio-max-size
oder
# cat /proc/sys/fs/aio-max-nr
14. So zeigen Sie das Festplattengerätemodell, die Standards, die Konfiguration, die Kapazität usw. an:
Beispiel:
# hdparm -I /dev/sda # sudo hdparm -i /dev/sda
15. So überprüfen Sie die Blockgröße für ein bestimmtes Gerät:
Beispiel:
# blockdev --getbsz /dev/xvda1 # tune2fs -l /dev/vgxx/lvolx