11 „Linux Performance“ komandų turi žinoti kaip sistemos administratorius

Trikčių šalinimo našumo problema IT pasaulyje visada kelia iššūkį, o jei nežinojote apie tinkamus įrankius, tai nusivils.


Jei dirbate kaip atrama gamybos aplinkoje, greičiausiai jums reikės išspręsti su našumu susijusias problemas „Linux“ aplinkoje.

Ar palaikote palaikymo funkciją ir dirbate „Linux“ serveryje?

Peržiūrėkime keletą dažniausiai naudojamų „Linux“ komandų eilutės paslaugų, kad diagnozuotų su našumu susijusias problemas.

Pastaba: Kai kurios iš žemiau išvardytų komandų gali būti neįdiegtos pagal numatytuosius nustatymus, todėl jūs turite jas įdiegti rankiniu būdu.

lsof

„lsof“ reiškia „sąrašą atidarytų failų“, kuris padės rasti visus atidarytus failus ir procesus kartu su tuo, kuris juos atidarė. „Lsof“ naudingumas gali būti patogus naudoti kai kuriais atvejais.

Norėdami išvardyti visus failus, atidarytus tam tikru PID

# lsof –p PID

Skaičiuojamas failų skaičius & procesai

[[apsaugotas el. paštu] ~] # lsof -p 4271 | wc -l
34
[[apsaugotas el. paštu] ~] #

Patikrinkite šiuo metu atidarytą žurnalo failą

# lsof –p | grep log

Sužinokite demono naudojamą prievado numerį

[[apsaugotas el. paštu] ~] # lsof -i -P | grep 4271

nginx 4271 root 6u IPv4 51306 0t0 TCP *:80 (IŠKLAUSYTI)

nginx 4271 root 7u IPv4 51307 0t0 TCP *:443 (IŠKLAUSYTI)

[[apsaugotas el. paštu] ~] #

pidstat

pidstat gali būti naudojamas stebėti užduotis, kurias valdo „Linux“ branduolys. Šią komandą gali palengvinti su I / O susijusios problemos šalinimas.

Pateikite visų PID I / O statistiką

# pidstat –d

Tam tikro PID I / O statistikos perkėlimas

# pidstat –p 4271 –d

Jei darote tam tikro proceso trikčių šalinimą realiuoju laiku, tada galite stebėti I / O per tam tikrą laiką. Žemiau pateiktas pavyzdys – stebėti kas 5 sekundes.

[[apsaugotas el. paštu] ~] # pidstat -p 4362 -d 5

„Linux 3.10.0-327.13.1.el7.x86_64“ („localhost.localdomain“) 2016 08 13 _x86_64_ (2 procesoriai)

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

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

viršuje

Tikriausiai viena populiariausių „Linux“ komandų būtų viršuje. Viršutinė komanda gali būti naudojama norint pateikti sistemos santraukos informaciją ir esamą panaudojimą.

Tiesiog vykdant aukščiausią komandą galima parodyti procesoriaus naudojimą, išsamią proceso informaciją, užduočių skaičių, atminties panaudojimą, daugybę zombių procesų ir kt..

viršuje

Norėdami parodyti konkretaus vartotojo proceso duomenis

# top -u vartotojo vardas

Norėdami užmušti procesą, galite paleisti viršuje ir paspausti k. Tai paragins jus įvesti PID, kad būtumėte nužudytas.

nužudyk

ps

ps reiškia proceso būseną ir plačiai naudojamą komandą, norint gauti vykdomo proceso momentinį vaizdą. Labai naudinga sužinoti, ar procesas vykdomas, ar ne, ir jei veikia, tada spausdina PID.

Norėdami sužinoti PID ir apdoroti informaciją kokiu nors žodžiu

# ps – ef | grep žodis

ps-išėjimas

tcpdump

Tinklo trikčių šalinimas visada yra sudėtingas, ir viena iš esminių komandų, kurias reikia naudoti, yra tcpdump.

Tu gali naudoti tcpdump užfiksuoti tinklo paketus tinklo sąsajoje.

Norėdami užfiksuoti paketus tam tikroje tinklo sąsajoje

# tcpdump –i $ sąsaja –w / tmp / capture

tcpdump-output

Kaip matote aukščiau, užfiksuotas srautas sraute „eno16777736“ sąsajoje.

Norėdami užfiksuoti tinklo srautą tarp šaltinio ir paskirties IP

# tcpdump src $ IP ir dst host $ IP

Užfiksuokite tinklo srautą į paskirties uostą 443

# tcpdump dst port 443
„tcpdump“: duomenų jungties tipas PKTAP
tcpdump: užblokuotas veiksmingas išvestis, visam protokolo iššifravimui naudokite -v arba -vv
klausytis naudojant „Pktap“, nuorodos tipo PKTAP („Packet Tap“), užfiksuokite 262144 baitus
12: 02: 30.833845 IP 192.168.1.2.49950 > ec2-107-22-185-206.compute-1.amazonaws.com.https: Vėliavos [.], ack 421458229, pergalė 4096, ilgis 0
12: 02: 32.076893 IP 192.168.1.2.49953 > 104.25.133.107.https: Vėliavos [S], seq 21510813, laimi 65535, parinktys [mss 1460, nop, wscale 5, nop, nop, TS val 353259990 ecr 0, sackOK, eol], ilgis 0
12: 02: 32.090389 IP 192.168.1.2.49953 > 104.25.133.107.https: Vėliavos [.], Ack 790725431, laimėti 8192, ilgis 0
12: 02: 32.090630 IP 192.168.1.2.49953 > 104.25.133.107.https: Vėliavos [P.], seq 0: 517, ack 1, pergalė 8192, ilgis 517
12: 02: 32.109903 IP 192.168.1.2.49953 > 104.25.133.107.https: Vėliavos [.], Ack 147, laimėti 8187, ilgis 0

Perskaitykite užfiksuotą failą

# tcpdump –r failo vardas

Pvz .: skaityti aukščiau užfiksuotą failą

# tcpdump –r / tmp / test

iostatas

„iostat“ reiškia įvesties ir išvesties statistiką ir dažnai naudojama diagnozuoti saugojimo įrenginių našumo problemą. Galite stebėti procesorių, įrenginį & Tinklo failų sistemos naudojimo ataskaita su iostat.

Rodyti disko I / O statistiką

[[apsaugotas el. paštu] ~] # iostat -d
„Linux 3.10.0-327.13.1.el7.x86_64“ („localhost.localdomain“) 2016 08 13 _x86_64_ (2 procesoriai)
Įrenginys: tps kB_read / s kB_wrtn / s kB_read kB_wrtn
sda 1,82 55,81 12,63 687405 155546
[[apsaugotas el. paštu] ~] #

Rodyti CPU statistiką

[[apsaugotas el. paštu] ~] # iostat -c
„Linux 3.10.0-327.13.1.el7.x86_64“ („localhost.localdomain“) 2016 08 13 _x86_64_ (2 procesoriai)
avg-cpu:% user% nice% system% iowait% steal% idle
0,59 0,02 0,33 0,54 0,00 98,52
[[apsaugotas el. paštu] ~] #

ldd

ldd reiškia dinamines priklausomybes nuo sąrašo, kad būtų rodomos bibliotekai reikalingos bendros bibliotekos. Komanda ldd gali būti patogi diagnozuoti programos paleidimo problemą.

Jei kai kurios programos nepaleidžiamos dėl priklausomybių, kurių nėra, tuomet galite sužinoti norimas bendrintas bibliotekas..

[[apsaugotas el. paštu] sbin] # ldd httpd
linux-vdso.so.1 => (0x00007ffe7ebb2000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fa4d451e000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fa4d42f9000)
libaprutilis-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)
[[apsaugotas el. paštu] sbin] #

netstat

„netstat“ (tinklo statistika) yra populiari komanda spausdinti tinklo jungtis, sąsajos statistiką ir šalinti įvairias su tinklu susijusias problemas.

Parodyti visų protokolų statistiką

# netstat –s

Norėdami sužinoti, ar nėra klaidų, galite naudoti grep

[[apsaugotas el. paštu] sbin] # netstat -s | grep klaida
0 paketų priėmimo klaidų
0 gauti buferio klaidų
0 siųsti buferio klaidas
[[apsaugotas el. paštu] sbin] #

Norėdami parodyti branduolio maršruto lentelę

[[apsaugotas el. paštu] sbin] # netstat -r
Branduolio IP maršrutizacijos lentelė
„Destination Gateway“ „Genmask“ vėliavos „MSS Window irtt Iface“
numatytasis šliuzas 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
[[apsaugotas el. paštu] sbin] #

Laisvas

Jei jūsų „Linux“ serveryje trūksta atminties arba tiesiog norite sužinoti, kiek atminties liko laisvoje atmintyje, tada nemokama komanda padės jums.

[[apsaugotas el. paštu] sbin] # nemokamas -g
iš viso panaudota nemokama bendro naudojimo bufetė / talpykla
Atmintis: 5 0 3 0 1 4
Mainai: 5 0 5
[[apsaugotas el. paštu] sbin] #

-g reiškia parodyti išsamią informaciją GB. Taigi, kaip matote, laisva atmintis yra 5 GB, o 3 GB nemokama.

sar

sar (sistemos veiklos ataskaita) bus naudinga norint surinkti keletą ataskaitų, įskaitant centrinį procesorių, atmintį ir įrenginio apkrovą.

Vykdydami sar komandą, parodysite, kaip sistema naudojate visą dieną.

sar-išėjimas

Pagal numatytuosius nustatymus jis išsaugo naudojimo ataskaitą per 10 minučių. Jei jums reikia kažko trumpesnio realiuoju laiku, galite naudoti toliau nurodytus veiksmus.

Rodyti CPU ataskaitą 3 kartus kas 3 sekundes

[[apsaugotas el. paštu] sbin] # sar 3 2
„Linux 3.10.0-327.13.1.el7.x86_64“ („localhost.localdomain“) 2016 08 13 _x86_64_ (2 procesoriai)
11:14:02 PM CPU% user% nice% system% iowait% steal% idle
11:14:05 PM viskas 1,83 0,00 0,50 0,17 0,00 0,00 97,51
11:14:08 PM viskas 1,50 0,00 0,17 0,00 0,00 98,33
Vidurkis: visi 1,67 0,00 0,33 0,08 0,00 97,92
[[apsaugotas el. paštu] sbin] #

Rodyti atminties naudojimo ataskaitą

# sar –r

Rodyti tinklo ataskaitą

# sar – VISI

ipcs

„ipcs“ („InterProcess“ ryšių sistema) pateikia ataskaitą apie semaforą, bendrąją atmintį & pranešimų eilė.

Norėdami išvardyti pranešimų eilę

# ipcs –q

Norėdami išvardyti semaforus

# ipcs

Norėdami pateikti bendros atminties sąrašą

# ipcs –m

Parodyti dabartinę IPC naudojimo būseną

[[apsaugotas el. paštu] sbin] # ipcs -u

—— Pranešimų būsena ——–
paskirstytos eilės = 0
naudotos antraštės = 0
naudojama erdvė = 0 baitų

—— Bendrosios atminties būsena ——–
paskirstyti segmentai 5
puslapių paskirta 2784
puslapių gyventojas 359
puslapių apsikeitė 0
Mainų atlikimas: 0 bandymų, 0 pasisekimų

—— Semaforo būsena ——–
panaudoti masyvai = 0
paskirta semaforų = 0
[[apsaugotas el. paštu] sbin] #

Tikiuosi, kad aukščiau pateiktos komandos padės esant įvairiai situacijai jūsų sistemos administravimo darbe.

Tai yra tik tam, kad suteiktų jums idėją apie komandas ir, jei jus domina, galite tai sužinoti „Linux“ veiklos stebėjimo ir trikčių šalinimo kursai.

ŽENKLAI:

  • „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