Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

12 Linux-Leistungsbefehle, die Sie als Systemadministrator kennen sollten

Unix-Anmeldeaufforderung
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Eine Fehlerbehebung bei leistungsbezogenen Problemen in der IT-Welt ist immer eine Herausforderung. Wenn Sie nicht über die richtigen Tools informiert sind, ist dies frustrierend.

Wenn Sie als Support in einer Produktionsumgebung arbeiten, müssen Sie sich höchstwahrscheinlich mit leistungsbezogenen Problemen im Internet befassen Linux Umgebung. Lassen Sie uns einige der am häufigsten verwendeten Linux-Befehlszeilenprogramme durchgehen, um leistungsbezogene Probleme zu diagnostizieren.

Hinweis: Einige der unten aufgeführten Befehle sind möglicherweise nicht standardmäßig installiert, daher müssen Sie sie manuell installieren.

lsof

lsof steht für “offene Dateien auflisten”, Um Ihnen zu helfen, alle geöffneten Dateien und Prozesse zusammen mit demjenigen zu finden, der sie geöffnet hat. Das Dienstprogramm lsof kann in einigen Szenarien bequem verwendet werden.

Zum Auflisten aller Dateien, die von einer bestimmten PID geöffnet wurden.

# lsof –p PID

Anzahl der Dateien und Prozesse zählen

[root @ localhost ~] # lsof -p 4271 | wc -l 34 [root @ localhost ~] #

Überprüfen Sie die aktuell geöffnete Protokolldatei

# lsof –p | grep-Protokoll

Finden Sie die vom Prozess verwendete Portnummer heraus

lsof -i -P |grep $PID
[root @ localhost ~] # lsof -i -P | grep 4271 nginx 4271 root 6u IPv4 51306 0t0 TCP *:80 (HÖREN) nginx 4271 root 7u IPv4 51307 0t0 TCP *:443 (HÖREN) [root @ localhost ~] #

Check out more lsof Befehlsbeispiele.

pidstat

Mit pidstat können vom Linux-Kernel verwaltete Aufgaben überwacht werden. Die Fehlerbehebung bei E / A-Problemen kann mit diesem Befehl einfach sein.

Listen Sie die E / A-Statistiken aller PIDs auf

# pidstat –d

Zum Verschieben von E / A-Statistiken für eine bestimmte PID

# pidstat –p 4271 –d

Wenn Sie für einen bestimmten Prozess eine Fehlerbehebung in Echtzeit durchführen, können Sie die E / A in bestimmten Intervallen überwachen. Das folgende Beispiel dient zur Überwachung alle 5 Sekunden.

[root @ localhost ~] # pidstat -p 4362 -d 5 Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 08 _x13_2016_ (86 CPU) 64:2:07 UID PID kB_rd / s kB_wr / s kB_ccwr / s Befehl 01:30:07 PM 01 35 0 4362 0.00 Nginx 0.00:0.00:07 01 40 0 4362 0.00 Nginx 0.00:0.00:07 01 45 0 4362 0.00 Nginx 0.00:0.00:07 PM 01 50 0 4362 0.00 Nginx

top

Wahrscheinlich ist einer der am häufigsten verwendeten Befehle unter Linux top. Mit dem Befehl top können Systemzusammenfassungsinformationen und die aktuelle Auslastung angezeigt werden.

Wenn Sie nur den Befehl top ausführen, können Sie die CPU-Auslastung, Prozessdetails, eine Reihe von Aufgaben, die Speicherauslastung, eine Reihe von Zombie-Prozessen usw. anzeigen.

top - 11:48:43 up 13 days, 17:25,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  90 total,   2 running,  88 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1829.7 total,    388.1 free,    220.3 used,   1221.4 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.   1369.4 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                              
    1 root      20   0  186820  13400   9092 S   0.0   0.7   0:10.87 systemd                                                                                                              
    2 root      20   0       0      0      0 S   0.0   0.0   0:00.13 kthreadd                                                                                                             
    3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp                                                                                                               
    4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp                                                                                                           
    6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H                                                                                                         
    8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq                                                                                                         
    9 root      20   0       0      0      0 S   0.0   0.0   0:07.35 ksoftirqd/0                                                                                                          
   10 root      20   0       0      0      0 R   0.0   0.0   0:07.30 rcu_sched                                                                                                            
   11 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migration/0                                                                                                          
   12 root      rt   0       0      0      0 S   0.0   0.0   0:00.50 watchdog/0                                                                                                           
   13 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0                                                                                                              
   15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kdevtmpfs                                                                                                            
   16 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns                                                                                                                
   17 root      20   0       0      0      0 S   0.0   0.0   0:00.68 kauditd                                                                                                              
   18 root      20   0       0      0      0 S   0.0   0.0   0:00.25 khungtaskd                                                                                                           
   19 root      20   0       0      0      0 S   0.0   0.0   0:00.00 oom_reaper                                                                                                           
   20 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 writeback                                                                                                            
   21 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kcompactd0                                                                                                           
   22 root      25   5       0      0      0 S   0.0   0.0   0:00.00 ksmd                                                                                                                 
   23 root      39  19       0      0      0 S   0.0   0.0   0:05.63 khugepaged                                                                                                           
   24 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 crypto                                                                                                               
   25 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kintegrityd                                                                                                          
   26 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kblockd

Anzeigen von Prozessdetails für einen bestimmten Benutzer

# top –u Benutzername

Um den Vorgang abzubrechen, können Sie den oberen Bereich ausführen und drücken k. Sie werden aufgefordert, die zu tötende PID einzugeben.

top - 11:49:39 up 13 days, 17:26,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  91 total,   1 running,  90 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1829.7 total,    386.9 free,    221.4 used,   1221.4 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.   1368.3 avail Mem 
PID to signal/kill [default pid = 21261] 
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                              
 5834 nginx     20   0  148712   7428   4800 S   0.0   0.4   0:02.37 nginx

ps

ps steht für Prozessstatus und weit verbreiteter Befehl, um eine Momentaufnahme des laufenden Prozesses zu erhalten. Sehr nützlich, um herauszufinden, ob ein Prozess ausgeführt wird oder nicht, und wenn er ausgeführt wird, wird die PID gedruckt.

Um die PID herauszufinden und Details durch ein Wort zu verarbeiten

[root@lab ~]# ps -ef|grep nginx
root      5833     1  0 May24 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx     5834  5833  0 May24 ?        00:00:02 nginx: worker process
root     21267 18864  0 11:50 pts/0    00:00:00 grep --color=auto nginx
[root@lab ~]#

tcpdump

Die Fehlerbehebung bei Netzwerkproblemen ist immer eine Herausforderung, und einer der wichtigsten zu verwendenden Befehle ist tcpdump.

Sie können verwenden tcpdump um die Netzwerkpakete auf einer Netzwerkschnittstelle zu erfassen.

Erfassen der Pakete auf einer bestimmten Netzwerkschnittstelle

[root@lab ~]# tcpdump -i eth0 -w /tmp/capture
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
^C9 packets captured
16 packets received by filter
0 packets dropped by kernel
[root@lab ~]#

Wie Sie oben sehen können, hat der Verkehrsfluss weiter erfasst eth0 Schnittstelle.

Zum Erfassen des Netzwerkverkehrs zwischen Quell- und Ziel-IP

# tcpdump src $ IP und dst host $ IP

Erfassen Sie den Netzwerkverkehr für den Zielport 443

# tcpdump dst port 443 tcpdump: Datenverbindungstyp PKTAP tcpdump: Ausführliche Ausgabe unterdrückt, -v oder -vv für die vollständige Protokolldecodierung verwenden, pktap abhören, Verbindungstyp PKTAP (Packet Tap), Erfassungsgröße 262144 Bytes 12: 02: 30.833845 IP 192.168.1.2.49950> ec2-107-22-185-206.compute-1.amazonaws.com.https: Flags [.], Ack 421458229, win 4096, Länge 0 12: 02: 32.076893 IP 192.168.1.2.49953 > 104.25.133.107.https: Flags [S], seq 21510813, win 65535, options [mss 1460, nop, wscale 5, nop, nop, TS val 353259990 ecr 0, sackOK, eol], Länge 0 12: 02: 32.090389 IP 192.168.1.2.49953> 104.25.133.107.https: Flags [.], Ack 790725431, win 8192, Länge 0 12: 02: 32.090630 IP 192.168.1.2.49953> 104.25.133.107.https: Flags [P.], seq 0: 517, ack 1, win 8192, length 517 12: 02: 32.109903 IP 192.168.1.2.49953> 104.25.133.107.https: Flags [.], ack 147, win 8187, length 0

Lesen Sie die erfasste Datei

# tcpdump –r filename

Beispiel: Zum Lesen einer oben erfassten Datei

# tcpdump –r /tmp/test

Erfahren Sie mehr darüber tcpdump um den Netzwerkverkehr zu erfassen und zu analysieren.

iostat

iostat steht für Eingabe-Ausgabe-Statistiken und häufig verwendet, um ein Leistungsproblem mit Speichergeräten zu diagnostizieren. Mit iostat können Sie den Auslastungsbericht für CPU-, Geräte- und Netzwerkdateisysteme überwachen.

Anzeigen von Festplatten-E / A-Statistiken

[root @ localhost ~] # iostat -d Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 08 _x13_2016_ (86 CPU) Gerät: tps kB_read / s kB_wrtn / s kB_read kB_wrtn sda 64 2 1.82 55.81 12.63 [root @ localhost ~] #

CPU-Statistiken anzeigen

[root @ localhost ~] # iostat -c Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 08 _x13_2016_ (86 CPU) avg-cpu:% user% nice% system% iowait% stehlen% Leerlauf 64 2 0.59 0.02 0.33 0.54 [root @ localhost ~] #

ldd

ldd steht für dynamische Abhängigkeiten auflisten um gemeinsam genutzte Bibliotheken anzuzeigen, die von der Bibliothek benötigt werden. Das ldd Befehl kann nützlich sein, um das Startproblem der Anwendung zu diagnostizieren.

Wenn ein Programm aufgrund nicht verfügbarer Abhängigkeiten nicht gestartet wird, können Sie die gesuchten gemeinsam genutzten Bibliotheken ermitteln.

[root @ localhost sbin] # ldd httpd linux-vdso.so.1 => (0x00007ffe7ebb2000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fa4d451e000) libselinux.so.1 => / lib64 / libselinux .so.1 (0x00007fa4d42f9000) libaprutil-1.so.0 => /lib64/libaprutil-1.so.0 (0x00007fa4d40cf000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fa4d3e98000) libexpat.so .1 => /lib64/libexpat.so.1 (0x00007fa4d3c6e000) libdb-5.3.so => ​​/lib64/libdb-5.3.so (0x00007fa4d38af000) libapr-1.so.0 => /lib64/libapr-1.so .0 (0x00007fa4d3680000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa4d3464000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fa4d325f000) libc.so.6 => / lib /libc.so.64 (6x0fa00007d4e2e9) liblzma.so.000 => /lib5/liblzma.so.64 (5x0fa00007d4c2) /lib79000/ld-linux-x64-86.so.64 (2x0fa00007d4a4) libuuid.so.10000 = > /lib1/libuuid.so.64 (1x0fa00007d4a2) libfreebl73000. so => ​​/lib3/libfreebl64.so (3x0fa00007d4) [root @ localhost sbin] #

netstat

netstat (Netzwerkstatistik) ist ein beliebter Befehl zum Drucken von Netzwerkverbindungen, Schnittstellenstatistiken und zur Behebung verschiedener Netzwerkprobleme.

Anzeigen der Statistiken aller Protokolle

# netstat –s

Sie können grep verwenden, um Fehler festzustellen

[root @ localhost sbin] # netstat -s | grep-Fehler 0 Paketempfangsfehler 0 Empfangspufferfehler 0 Sendepufferfehler [root @ localhost sbin] #

Anzeigen der Kernel-Routing-Tabelle

[root @ localhost sbin] # netstat -r Kernel-IP-Routing-Tabelle Ziel-Gateway-Genmaskenflags MSS-Fenster irtt Iface-Standardgateway 0.0.0.0 UG 0 0 0 eno16777736 172.16.179.0 0.0.0.0 255.255.255.0 U 0 0 0 eno16777736 192.168.122.0 0.0.0.0 .255.255.255.0 0 U 0 0 0 virbrXNUMX [root @ localhost sbin] #

Erfahren Sie mehr Beispiele für netstat-Befehle.

free

Wenn auf Ihrem Linux-Server nicht genügend Arbeitsspeicher vorhanden ist oder Sie nur herausfinden möchten, wie viel Arbeitsspeicher aus dem verfügbaren Arbeitsspeicher verfügbar ist, hilft Ihnen der Befehl free.

[root @ localhost sbin] # free -g insgesamt verwendet kostenlos freigegebener Buff / Cache verfügbar Mem: 5 0 3 0 1 4 Swap: 5 0 5 [root @ localhost sbin] #

-g bedeutet, die Details in GB anzuzeigen. Wie Sie sehen können, beträgt der insgesamt verfügbare Speicher 5 GB und 3 GB sind kostenlos.

sar

sar (Systemaktivitätsbericht) ist hilfreich, um eine Reihe von Berichten zu erfassen, einschließlich CPU, Speicher und Gerätelast.

Durch einfaches Ausführen sar Der Befehl zeigt Ihnen die Systemauslastung für den gesamten Tag.

Sar-Ausgabe

Standardmäßig wird der Nutzungsbericht in 10 Minuten gespeichert. Wenn Sie in Echtzeit etwas kürzeres benötigen, können Sie es wie folgt verwenden.

Zeigen Sie den CPU-Bericht dreimal alle 3 Sekunden an

[root @ localhost sbin] # sar 3 2 Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 08 _x13_2016_ (86 CPU) 64:2:11 CPU% user% nice% system % iowait% stehlen% Leerlauf 14:02:11 alle 14 05 1.83 0.00 0.50 0.17 0.00:97.51:11 alle 14 08 1.50 0.00 0.17 0.00 Durchschnitt: alle 0.00 98.33 1.67 0.00 0.33 0.08 [root @ localhost sbin] #

Bericht zur Speichernutzung anzeigen

#sar –r

Netzwerkbericht anzeigen

#sar –n ALLE

ipcs

ips (InterProcess-Kommunikationssystem) bietet einen Bericht über das Semaphor, den gemeinsam genutzten Speicher und die Nachrichtenwarteschlange.

So listen Sie die Nachrichtenwarteschlange auf

# ips –q

Auflisten der Semaphoren

# ips –s

So listen Sie den gemeinsam genutzten Speicher auf

# ips –m

Anzeigen des aktuellen Nutzungsstatus von IPC

[root @ localhost sbin] # ipcs -u ------ Nachrichtenstatus -------- zugewiesene Warteschlangen = 0 verwendete Header = 0 verwendeter Speicherplatz = 0 Bytes ------ Status des gemeinsam genutzten Speichers - ------ Segmente zugewiesen 5 Seiten zugewiesen 2784 Seiten resident 359 Seiten getauscht 0 Swap-Leistung: 0 Versuche 0 Erfolge ------ Semaphorstatus -------- verwendete Arrays = 0 zugewiesene Semaphore = 0 [ root @ localhost sbin] #

ioping

ioping ist ein externer Befehl, über den Sie ihn installieren können hier. Es kann sehr praktisch sein, die E / A-Latenz der Festplatte in Echtzeit zu überwachen.

Fazit

Ich hoffe die oben genannten Befehle helfen in den verschiedenen Situationen bei Ihnen Systemadministration Job. Die oben genannten Befehle können bei Bedarf verwendet werden. Wenn Sie jedoch ständig Linux-Server überwachen müssen, sollten Sie die Verwendung in Betracht ziehen Server-Überwachungssoftware.

Weitere Informationen zur Linux-Leistung finden Sie hier Udemy natürlich.

Danke an unsere Sponsoren
Weitere großartige Lektüre zu Linux
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder