11 comenzi de performanță Linux pentru a fi cunoscute ca administrator de sistem

O problemă legată de performanță în ceea ce privește performanțele în lumea IT este întotdeauna dificilă și, dacă nu ai conștientizat instrumentele potrivite, ar fi frustrant.


Dacă lucrați ca suport într-un mediu de producție, atunci cel mai probabil va trebui să vă ocupați de problemele legate de performanță în mediul Linux.

Sunteți în funcție de asistență și lucrați pe serverul Linux?

Să parcurgem unele dintre cele mai utilizate utilități pentru linia de comandă Linux pentru a diagnostica probleme legate de performanță.

Notă: Unele dintre comenzile enumerate mai jos nu pot fi instalate implicit, așa că trebuie să le instalați manual.

lsof

lsof înseamnă „listă de fișiere deschise” pentru a vă ajuta să găsiți toate fișierele și procesele deschise împreună cu cel care le-a deschis. Utilitatea lsof poate fi convenabilă pentru utilizarea în unele scenarii.

Pentru a enumera toate fișierele deschise de un anumit PID

# lsof –p PID

Numărați numărul de fișiere & procese

[[Email protected] ~] # lsof -p 4271 | wc -l
34
[[Email protected] ~] #

Verificați fișierul jurnal deschis actual

# lsof –p | grep jurnal

Aflați numărul de port folosit de daemon

[[Email protected] ~] # lsof -i -P | grep 4271

nginx 4271 root 6u IPv4 51306 0t0 TCP *:80 (ASCULTA)

nginx 4271 root 7u IPv4 51307 0t0 TCP *:443 (ASCULTA)

[[Email protected] ~] #

pidstat

pidstat poate fi folosit pentru a monitoriza sarcinile gestionate de kernel Linux. Depanarea problemei legate de I / O poate fi ușoară cu această comandă.

Enumerați statisticile I / O pentru toate PID-urile

# pidstat –d

Pentru a muta statisticile I / O pentru PID

# pidstat –p 4271 –d

Dacă efectuați depanare în timp real pentru un anumit proces, atunci puteți monitoriza I / O la un interval. Mai jos exemplu este de a monitoriza la fiecare 5 secunde.

[[Email protected] ~] # pidstat -p 4362 -d 5

Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 13/08/2016 _x86_64_ (2 CPU)

07:01:30 PM UID PID kB_rd / s kB_wr / s kB_ccwr / s Comanda

07:01:35 PM 0 4362 0,00 0,00 0,00 nginx

07:01:40 PM 0 4362 0,00 0,00 0,00 nginx

07:01:45 PM 0 4362 0,00 0,00 0,00 nginx

07:01:50 PM 0 4362 0,00 0,00 0,00 nginx

top

Probabil una dintre cele mai utilizate comenzi pe Linux ar fi top. Comanda de sus poate fi utilizată pentru a afișa informațiile sumare ale sistemului și utilizarea curentă.

Doar executarea comenzii de top vă poate arăta utilizarea procesorului, detalii despre proces, o serie de sarcini, utilizarea memoriei, o serie de procese zombie, etc..

top

Pentru a afișa detaliile procesului pentru un anumit utilizator

# top –u nume de utilizator

Pentru a ucide procesul, puteți executa top și apăsați k. Acesta vă va solicita să introduceți PID-ul pentru a fi ucis.

top ucide

ps

ps înseamnă starea procesului și folosită pe scară largă o comandă pentru a obține o imagine instantanee a procesului rulat. Foarte util pentru a afla dacă un proces este în curs de execuție sau nu și dacă se execută, atunci se imprimă PID.

Pentru a afla PID și a procesa detaliile cu un cuvânt

# ps –ef | grep cuvânt

ps-ieșire

tcpdump

Depanarea problemei de rețea este întotdeauna provocatoare și una dintre comenzile esențiale de utilizat este tcpdump.

Poți să folosești tcpdump pentru a capta pachetele de rețea pe o interfață de rețea.

Pentru a capta pachetele de pe o anumită interfață de rețea

# tcpdump –i interfața $ –w / tmp / capture

tcpdump-ieșire

După cum vedeți mai sus, a captat fluxul de trafic pe interfața „eno16777736”.

Pentru a capta traficul de rețea între IP sursă și IP de destinație

# tcpdump src $ IP și dst gazdă $ IP

Capturați traficul de rețea pentru portul de destinație 443

# tcpdump dst port 443
tcpdump: tip de legătură de date PKTAP
tcpdump: ieșire verbală suprimată, utilizați -v sau -vv pentru decodarea protocolului complet
ascultând pe pktap, link-ul PKTAP de tip link (Packet Tap), dimensiunea de captare 262144 octeți
12: 02: 30.833845 IP 192.168.1.2.49950 > ec2-107-22-185-206.compute-1.amazonaws.com.https: Steaguri [.], ACK 421458229, câștig 4096, lungime 0
12: 02: 32.076893 IP 192.168.1.2.49953 > 104.25.133.107.https: Steaguri [S], urm 21510813, câștig 65535, opțiuni [mss 1460, nop, wscale 5, nop, nop, TS val 353259990 ecr 0, sackOK, eol], lungime 0
12: 02: 32.090389 IP 192.168.1.2.49953 > 104.25.133.107.https: Steaguri [.], Ack 790725431, câștig 8192, lungime 0
12: 02: 32.090630 IP 192.168.1.2.49953 > 104.25.133.107.https: Steaguri [P.], seq 0: 517, ack 1, win 8192, lungime 517
12: 02: 32.109903 IP 192.168.1.2.49953 > 104.25.133.107.https: Steaguri [.], Ack 147, câștig 8187, lungime 0

Citiți fișierul capturat

# tcpdump –r nume de fișier

De exemplu: pentru a citi fișierul capturat mai sus

# tcpdump –r / tmp / test

iostat

iostat reprezintă statistici de intrare-ieșire și deseori utilizate pentru a diagnostica problema de performanță cu dispozitivele de stocare. Puteți monitoriza CPU, Device & Raport de utilizare a sistemului de fișiere de rețea cu iostat.

Afișați statistici de I / O pe disc

[[Email protected] ~] # iostat -d
Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 13/08/2016 _x86_64_ (2 CPU)
Dispozitiv: tps kB_read / s kB_wrtn / s kB_read kB_wrtn
sda 1,82 55,81 12,63 687405 155546
[[Email protected] ~] #

Afișați statisticile procesorului

[[Email protected] ~] # iostat -c
Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 13/08/2016 _x86_64_ (2 CPU)
avg-cpu:% user% frumos% sistem% iowait% fură% inactiv
0,59 0,02 0,33 0,54 0,00 98,52
[[Email protected] ~] #

LDD

ldd înseamnă listele dependențelor dinamice pentru a afișa bibliotecile partajate necesare bibliotecii Comanda ldd poate fi utilă pentru a diagnostica problema de pornire a aplicației.

Dacă un program nu începe din cauza dependențelor care nu sunt disponibile, puteți să aflați bibliotecile partajate pe care le caută.

[[Email protected] 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 => /lib64/libc.so.6 (0x00007fa4d2e9e000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007fa4d2c79000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa4d4a10000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007fa4d2a73000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007fa4d2870000)
[[Email protected] Sbin] #

netstat

netstat (Network Statistics) este o comandă populară pentru tipărirea conexiunilor de rețea, a statisticilor interfeței și pentru a rezolva diverse probleme legate de rețea.

Pentru afișarea statisticilor tuturor protocoalelor

# netstat –s

Puteți utiliza grep pentru a afla dacă există erori

[[Email protected] sbin] # netstat -s | grep eroare
0 pachet primește erori
0 primește erori tampon
0 trimite erori tampon
[[Email protected] Sbin] #

Pentru a afișa tabelul de rutare a nucleului

[[Email protected] sbin] # netstat -r
Tabelul de rutare IP al kernel-ului
Destination Gateway Genmask Flags MSS Window irtt Iface
gateway implicit 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 U 0 0 0 virbr0
[[Email protected] Sbin] #

liber

Dacă serverul dvs. Linux rămâne fără memorie sau doriți doar să aflați câtă memorie disponibilă din memoria disponibilă, atunci comanda gratuită vă va ajuta.

[[Email protected] sbin] # liber -g
total disponibil buff / cache partajat gratuit disponibil
Mem: 5 0 3 0 1 4
Schimb: 5 0 5
[[Email protected] Sbin] #

-g înseamnă afișarea detaliilor în GB. Așa cum puteți vedea memoria disponibilă totală este de 5 GB, iar 3 GB este gratuită.

SAR

sar (Raportul de activitate al sistemului) va fi util pentru a colecta un număr de raport, inclusiv procesor, memorie și încărcarea dispozitivului.

Doar executând comanda sar vă va arăta utilizarea sistemului pentru întreaga zi.

ieșire Sar-

În mod implicit, acesta stochează raportul de utilizare în 10 minute. Dacă aveți nevoie de ceva mai scurt în timp real, puteți utiliza ca mai jos.

Afișați raportul CPU de 3 ori la 3 secunde

[[Email protected] sbin] # sar 3 2
Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 13/08/2016 _x86_64_ (2 CPU)
11:14:02 PM CPU% utilizator% frumos% sistem% iowait% fură% inactiv
11:14:05 PM toate 1,83 0,00 0,50 0,17 0,00 97,51
11:14:08 PM toate 1,50 0,00 0,17 0,00 0,00 98,33
Media: toate 1,67 0,00 0,33 0,08 0,00 97,92
[[Email protected] Sbin] #

Afișați raportul de utilizare a memoriei

# sar –r

Afișați raportul de rețea

# sar –n TOATE

iPCS

ipcs (InterProcess Communication System) oferă un raport privind semaforul, memoria partajată & coada de mesaje.

Pentru a enumera coada de mesaje

# ipcs –q

Pentru a enumera semafoarele

# ipcs –s

Pentru a enumera memoria partajată

# ipcs –m

Pentru a afișa starea curentă de utilizare a IPC

[[Email protected] sbin] # ipcs -u

—— Starea mesajelor ——–
cozi alocate = 0
anteturi folosite = 0
spațiu folosit = 0 octeți

—— Stare memorie partajată ——–
segmente alocate 5
pagini alocate 2784
pagini rezidente 359
paginile schimbate 0
Performanța swap: 0 încercări 0 reușite

—— Starea semaforului ——–
tablouri folosite = 0
semafoare alocate = 0
[[Email protected] Sbin] #

Sper ca comenzile de mai sus să vă ajute în diferite situații la jobul dvs. de administrare a sistemului.

Acestea sunt doar pentru a vă oferi o idee despre comenzi și, dacă sunteți interesat, puteți consulta acest lucru Curs de monitorizare și depanare a performanței Linux.

ETICHETE:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map