petak, 19 aprila, 2024
Kako da...?

Administracija linuks sistema – Praćenje performansi sistema (2. deo)

Autor: Mihajlo Bogdanović

Pozdrav Lineri! Kao što je obećano nastavljamo dalje sa programima/alatima sa kojima možemo utvrditi zauzeće diska kao i njegove performanse, takođe u ovom broju bavićemo se i zauzećem procesora. Pa da krenemo polako.

Zauzeće diska i njegove performanse

Zauzeće diska se lako može pratiti komandom df i du. Komanda df prikazuje stanje raspoloživog prostora na disku dok komanda du prikazuje koliko je prostora zauzeto na disku.

Upotrebom opcije -k komande df može se videti zauzeće diska u kilobajtima

U današnjim prilikama izveštaj će biti najčitljiviji upotrebom opcije -h

Opcija -h potpuno razjašnjava koliko imamo raspoloživog prostora u svakom sistemu datoteke.

Ako upotrebimo opciju -l dobićemo samo podatke o prostoru na disku koji se fizički nalazi na sistemu ali ne i za povezane mrežne sistemske datoteke niti za diskove kojima pristupamo daljinski.

Kada želimo da utvrdimo koliki deo prostora na disku se koristi, upotrebićemo komandu du. Njena osnovna sintaksa je

du [opcija] datoteka

sysadmin@server ~/backup # du -h
7.7G .

sysadmin@server ~/backup # du -k
8015940 .

sysadmin@server ~/backup # du -m
7829 .

sysadmin@server ~/backup # du -s
8015940 .

h – prikazuje izveštaj u jedinicama koje su najčitljiviji korisniku
k -prikazuje rezultate u kilobajtima
m -prikazuje rezultate u megabajtima
s -prikazuje samo zbirne vrednosti

Ulazno-izlazne operacije sa diskom obično su usko grlo sistema. Operativna memorija i procesor rade više hiljada puta brže od najbržeg diska. Srećom, jezgro operativnog sistema i savremeni čvrsti diskovi koriste softversku i hardversku memorijsku ostavu, međumemoriju za predhodno učitavanje i odloženo zapisavinje na hard disk da bi prikrili i smanjili pomenutu razliku u brzini rada. Ipak, kao administrator sistema i dalje bi trebali znati da utvrdite probleme i izborite se sa njima kada se pojave na ulazno-izlaznim operacijama sa diskom.

Korisno je da se upoznate sa sledećim frazama koje se često koriste za opisivanje performansi sistema:

Srednje vreme pristupanja (Average seek time) – procena prosečnog trajanja operacije pristupanja
Maksimalno vreme pristupanja (Maximum seek time) – trajanje kretanja glave diska između dve staze na disku koje su međusobno najviše udaljene
Minimalno vreme pristupanja (Minimum seek time) – trajanje kretanja glave diska između dve susedne staze
Kašnjenje lociranja (Queuing delay) – vreme potrebno kontroleru diska da utvrdi gde na disku treba da pročita/upiše podatke
Rotaciono kašnjenje (Rotational latency) – vreme potrebno da se pravo mesto na disku dovede ispod glave za čitanje/upisivanje, izraženo brojem obrta u minutu (RPM)
Kašnjenje pristupanja (Seek latency) – vreme potrebno glavi za čitanje/upisivanje da se pozicionira na određeni cilindar diska
Vreme pristupanja (Seek time) – Vreme potrebno glavi za čitanje/upisivanje da pređe sa jedne staze diska na drugu

Za utvrđivanje problema sa performansama ulazno-izlaznih operacija najčešće se koristi komanda iostat. Slično komandi vmstat i komanda iostat se najjednostavnije zadaje na sledeći način

iostat [interval] [broj]

Interval definiše broj sekundi između dva uzastopna izveštaja, a broj predstavlja ukupan broj izveštaja.

tps – broj operacija prenosa podataka (ili ulazno-izlaznih zahteva za prekid) u sekundi poslatih disku
Blk_read/s – broj blokova podataka učitanih sa uređaja u sekundi
Blk_wrtn/s – broj blokova podataka upisanih na uređaj u sekundi
Blk_read – ukupan broj učitanih podataka
Blk_wrtn – ukupan broj upisanih podataka

Ako detaljnije želimo da ispitamo ulazno-izlazne performanse diska, upotrebićemo opciju -x, zadajući i disk odnosno particiju koja nas zanima. Opcija -x omogućava detaljniju statistiku ulazno-izlaznih operacija zadatih diskova ili svih diskova ako ne zadamo disk.

Naredna komanda prikazuje snimak aktivnosti diska /dev/sda tokom prevođenja jezgra operativnog sistema (takođe [interval=5] [broj=5]). Zbog opcije -d komanda iostat ne prikazuje zbirni izveštaj o korišćenu procesora

rrqm/s – broj spojenih zahteva za čitanje podataka u sekundi
wrqm/s – broj spojenih zahteva za upisivanje podataka u sekundi
r/s – broj zahteva za čitanje podataka u sekundi
w/s – broj zahteva za upisivanje podataka u sekundi
rsec/s – broj učitanih sektora u sekundi
wsec/s – broj upisanih sektora u sekundi
avgrq-sz – prosečna veličina zahteva u sektorima
avgqu-sz – prosečna dužina reda za čekanje zahteva
await – prosečno vreme čekanja ulazno-izlazne operacije na izvršenje izraženo u milisekundama
svctm – prosečno vreme izvršavanja ulazno-izlazne operacije izraženo u milisekundama
%util – procenat zauzeća procesora zahtevima za ulazno-izlazne operacije

Korišćenje procesora

Najpoznatiji uslužni program za praćenje korišćenja procesora jeste top, koji prikazuje najzahtevnije procese. Program top prati rad procesora u realnom vremenu, što znači da prikazuje listu aktivnih procesa koji ga najviše koriste. Prikaz se podrazumevano ažurira na svake tri sekunde, mada je interval ažuriranja promenljiv u toku izvršavanja komande top, sa d ili s i zadatom vrednošću.

Primer zamene intervala ažuriranja na 6 sekunde

Prikaz komande top

Prvi red prikazuje ukupno vreme rada sistema, slično rezultatu komande uptime. Sledeća dva reda rezultata komande top sumiraju korišćenje procesora (u apsolutnim brojevima, odnosno u procentima) prikazujući aktivne procese, procese koji su privremeno zaustavljeni, zombije i trajno zaustavljene procese. Zombi (engl. zombie) je proces koji se završio pre nego što je njegov roditeljski proces uspeo da to sazna. Oni se zovu zombi-procesi jer su “mrtvi” i ne zauzimaju resurse (osim odrednice u tabeli procesa jezgra operativnog sistema), ali se ipak pojavljuju pri izlistavanju procesa. U četvrtom i petom redu rezultata sumirano je aktuelno korišćenje memorije, na način kao što to prikazuje komanda free. Šesti red je u stvari zaglavlje za preostale podatke – procese koji najviše opterećuju procesor, podrazumevano prikazane po opadajućem redosledu prema zauzeću procesora.

PID – identifikator procesa
USER – ime korisnika koji je pokrenuo proces
PRI – prioritet izvršavanja procesa
NI – izmena prioriteta procesa (nice)
SIZE – veličina memorije potrebna za izvršavanje procesa
RSS – veličina fizičke memorije koju proces zauzima
SHARE ili SHR – veličina deljene memorije koju proces koristi
STAT ili S – aktuelno stanje procesa
%CPU – procenat ukupnog procesorskog vremena koji koristi proces
%MEM – procenat ukupne fizičke memorije koju koristi proces
TIME – ukupno potrošeno vreme procesora na izvršenje procesa
COMMAND – komanda kojom je proces pokrenut, prikazana u zagradama ako je proces odložen u virtuelnu memoriju

Željeni proces možemo “ubiti” u samom prikazu komande top, sa tasterom k ili K upisujući PID (identifikator procesa).
Prikaz

Stanje procesa može da bude D (privremeno zaustavljen na određeno vreme), R (izvršava se), S (privremeno zaustavljen), T(zaustavljen ili praćen) ili Z (zombi). Ako se iza oznake stanja procesa nalazi znak <, proces ima negativnu izmenu prioriteta, a ako je znak N, njegova izmena prioriteta je pozitivna. Ukoliko tu stoji znak W, proces je odložen u virtuelnu memoriju. Inače, redosled prikazanih procesa možemo da promenimo tako što ćemo komandi top dati nalog da osim zauzeća procesora uzme u obzir i neki drugi kriterijum. Dok program top radi pritisnite taster o ili O a zatim taster u prikazu liste ispod da bi prikaz bio uređen po željenom kriterijumu.

a ili A – redosled pokretanja
m ili M – zauzeće fizičke memorije
n ili N – brojčana vrednost identifikatora
p ili P – zauzeće procesora
t ili T – utrošeno procesorsko vreme

Od konzolnih programa za nadgledanje performansi sistema sličan programu top je htop.
Prikaz


Toliko za ovaj broj.

Ne propustite u narednom broju još jedan važan segment u administraciji linuks sistema a to je nadgledanje rada u mreži.