Sistemske statistike sar i sistem datoteka / proc

U mom nedavnom članku 4 open source alati za monitoring Linux sistema, Razgovarao sam o interaktivnim alatima koji mogu biti od pomoći u rešavanju problema sistema. Takođe sam spomenuo sar komandu i kako se razlikuje od interaktivnih komandi. The sar komanda je jedna od mojih omiljenih kada je riječ o rješavanju problema. Posebno je korisno za one probleme koji se manifestuju dok se ne gledaju.

I, jer kada stvarno želite da se spustite na neobrađene podatke, / proc filesystem ima sve što vam je potrebno.

Korišćenje SAR-a

SAR označava System Activity Reporter. Njegova primarna funkcija je prikupljanje podataka o performansama sistema za svaki dan i čuvanje u log fajlovima za kasniji prikaz. Podaci se prikupljaju kao 10-minutni proseci, ali se može konfigurirati i više granularnih kolekcija. Podaci se zadržavaju na mesec dana.

Instalacija i konfiguracija

SAR je instaliran kao deo sysstat paketa u distribucijama zasnovanim na Red Hat-u. (Proverite manne stranice vaše distribucije za detalje instalacije.)

dnf -y instaliraj sysstat

Posle instalacije sar kao deo sysstat paketa, obično se ne treba učiniti ništa da bi se promenila njegova konfiguracija. Podaci se prikupljaju na svakom 10-minutnom znaku svakog sata. Imajte na umu da izlaz sar naredbe može biti vrlo širok - previše širok za korištenje u ovom članku. Zbog toga, ako ste upravo instalirali sysstat paket, trebalo bi da čekate 30 minuta ili tako da se prikupljaju podaci koji se mogu koristiti tokom ostatka ovog članka. Međutim, ako želite da promenite vremenski raspored prikupljanja podataka, moraćete da konfigurišete cron ili systemd konfiguracione datoteke.

Uz Fedora 20, sar prikupljanje podataka i dnevna obrada sakupljanja su kontrolisali sysstat cron posao u /etc/cron.d. Počevši od Fedore 2X, sar više ne koristi cronove poslove za kontrolu svoje sakupljanja i dnevnih aktivnosti snimanja i sistemd je preuzeo te dužnosti. Provjerite u / usr / lib / systemd / sistemski direktorijum za uslugu sysstat, sažetak i prikupljanje datoteka ako trebate promijeniti bilo šta. Datoteke su male i samoobjašnjive.

Jedini put kada sam napravio bilo kakve promjene u konfiguraciji sar je kada sam trebao prikupiti podatke svakog minuta umjesto svakog 10 minuta da bih bolje došao u tačno vrijeme kada se pojavio određeni problem. Podaci sar se čuvaju u dve datoteke dnevno u direktorijumu / var / log / sa. Prikupljanje podataka češće od svih 10 minuta može dovesti do stvaranja velikih porasta ovih datoteka.

Na jednom mestu gde sam radio, imali smo problem koji je počeo i eskalirao tako brzo da podrazumevani 10-minutni interval nije bio od pomoći prilikom određivanja koji se dogodio prvi: opterećenje procesora, velika aktivnost diska ili nešto drugo. Koristeći 1-minutni interval, utvrdili smo da nije samo što je CPU aktivnost bila visoka, nego da je prethodio kratak interval velike aktivnosti mreže, kao i visoka aktivnost diska. Na kraju smo utvrdili da je to bio slučajan napad DNS-a na web serveru koji je komplikovao činjenica da je na kompjuteru bilo premalo RAM-a za obradu privremene preopterećenja. Dodavanje 2GB memorije postojećem 2GB rešilo je problem i dalje DOS napadi nisu izazvali probleme.

Ispitivanje prikupljenih podataka

Izlaz iz naredbe sar može biti detaljan, ili možete odabrati da ograničite prikazane podatke. Na primer, unesite sar komanda bez opcija, koja prikazuje samo zbirne podatke o performansama CPU-a. Komanda sar koristi trenutni dan po podrazumevanoj vrednosti, počev od ponoći, tako da biste trebali videti samo podatke CPU-a za danas.

S druge strane, koristeći sar -A komanda prikazuje sve podatke koji su prikupljeni za danas. Unesite sar-A | manje komandi i prođite kroz izlaz da biste videli mnoge vrste podataka koje SAR prikuplja, uključujući korišćenje diskova i mreže, prekidač konteksta CPU-a (koliko puta u sekundi CPU prelazi iz jednog programa na drugi), razmene stranica, memorije i razmene razmaka upotreba i još mnogo toga. Koristite manu stranicu za naredbu sar da interpretira rezultate i dobije ideju o mnogim opcijama koje su na raspolaganju. Mnoge od tih opcija vam omogućavaju da pregledate određene podatke, kao što su performanse mreže i diskova.

Ja obično koristim sar -A jer su mnoge vrste raspoloživih podataka međusobno povezane, a ponekad nalazim nešto što mi daje određeni problem u performansama u dijelu izlaza koji možda ne bi išao na drugi način. The -A opcija prikazuje sve prikupljene tipove podataka.

Pogledajte celokupan izlaz sar-A | manje naredbu da dobijete osećaj za vrstu i količinu prikazanih podataka. Obavezno pogledajte podatke o korišćenju CPU-a, kao i procese započete u sekundi (proc / s) i kontekstni prekidači u sekundi (cswch / s). Ako se broj kontekstnih prekidača brzo povećava, to može ukazati na to da se procesi koji se pokreću veoma često zamenjuju sa CPU-om.

Možete ukupno ograničiti ukupnu količinu podataka na ukupnu aktivnost CPU-a sar -u komandu. Probajte to i primetite da dobijate samo složene podatke CPU-a, a ne podatke za pojedine CPU-e. Takođe probajte -r opcija za memoriju i -Sza razmjenu prostora. Kombinovanjem ovih opcija će se prikazati sledeća komanda CPU, mogućnost memorije i razmjena razmaka:

sar -urS

koristeći -p opcija prikazuje nazive bloka uređaja za čvrste diskove umesto mnogo šifrovite identifikatore uređaja i -d prikazuje samo blok uređaje - čvrste diskove. Izdajte narednu komandu da biste pregledali sve podatke bloka u čitljivom formatu koristeći imena onako kako se nalaze u / dev direktorijumu:

sar -dp | manje

Ako želite samo podatke između određenih vremena, možete ih koristiti -s i -e da definišu vreme početka i kraja, respektivno. Sledeća naredba prikazuje sve podatke CPU-a, pojedinačne i agregate za vremenski period između 7-a: 50 AM i 8: 11 AM danas:

sar -P ALL -s 07: 50: 00-e 08: 11: 00

Imajte na umu da mora biti sve vrijeme u 24-časovnom formatu. Ako imate više CPU-ova, svaki procesor je detaljno opisan pojedinačno, a takođe je dat i prosek za sve CPU-ove.

Sledeća komanda koristi -n opcija za prikaz statistike mreže za sve interfejse:

sar-n ALL | manje

Podaci za prethodne dane

Podaci prikupljeni za prethodne dane takođe mogu biti ispitani navedanjem željene datoteke dnevnika. Pretpostavimo da je današnji datum septembar 3 i želite da vidite podatke za jučer, naredna naredba prikazuje sve prikupljene podatke za septembar 2. Poslednje dve cifre svake datoteke su dan u mesecu na koji su prikupljeni podaci:

sar -A -f / var / log / sa / sa02 | manje

Možete koristiti komandu ispod, gde DD je dan u mesecu za jučer:

sar -A -f / var / log / sa / saDD | manje

Podaci u realnom vremenu

SAR možete koristiti i za prikaz podataka (gotovo) u realnom vremenu. Sledeća naredba prikazuje korištenje memorije u 5-u drugom intervalu za 10 iteracije:

sar -r 5 10

Ovo je zanimljiva opcija za sar jer može da obezbedi niz podataka za određeni vremenski period koji se može detaljno ispitati i uporediti. Sistem datoteka / proc Svi ovi podaci za SAR i alate za praćenje sistema koji su obuhvaćeni mojim prethodnim člankom moraju dolaziti negde. Srećom, svi podaci o jezgru su lako dostupni u / proc fajl sistemu. Zapravo, zato što su podaci o performansama jezgre koji se tamo nalaze u ASCII formatu teksta, može se prikazati pomoću jednostavnih komandi kao što je mačka tako da pojedini programi ne moraju da ubacuju sopstvene modele kernela da bi ih prikupili. Ovo štedi sistemske resurse i čini podatke preciznijim. SAR i alatke za praćenje sistema koje sam razmatrao u prethodnom članku, sve prikupljaju svoje podatke iz / proc file-sistema.

Imajte na umu da / proc je virtuelni sistem datoteka i postoji samo u RAM-u dok Linux radi. Nije uskladišten na čvrstom disku.

Iako se neću detaljnije upotrijebiti, sistem datoteka / proc sadrži i parametre i varijable za podešavanje živog kernela. Tako možete promijeniti podešavanje kernela jednostavnim promjenom odgovarajuće varijable za podešavanje kernela u / proc; nije potreban reboot.

Promenite u / proc direktoriju i popisujte datoteke tamo. Videćete, pored datoteka sa podacima, i veliku količinu numerisanih direktorija. Svaki od ovih direktorija predstavlja proces u kojem je ime direktorijuma ID procesa (PID). Možete se probiti u ove direktorijume da pronađete informacije o pojedinačnim procesima koji bi mogli biti od interesa.

Da biste videli ove podatke, jednostavno dodajte neku od sledećih datoteka:

  • cmdline - prikazuje komandnu liniju kernela, uključujući sve parametre prenete na njega.
  • cpuinfo - prikazuje informacije o CPU-u, uključujući zastavice, stepen imena modela i veličinu keša.
  • meminfo - prikazuje veoma detaljne informacije o memoriji, uključujući podatke kao što su aktivna i neaktivna memorija, i dodeljena potpuna virtualna memorija, koja se ne koristi, a koja se uvek ne prikazuju drugim alatima.
  • iomem i ioports - navodi opsege memorije i portove definisane za različite I / O uređaje.

Videćete, iako su podaci dostupni u ovim datotekama, većina toga nije na bilo koji način označena. To znači da ćete imati posla da biste identifikovali i izvadili željene podatke. Međutim, alati za nadgledanje već razmatrani već to čine za podatke koje su dizajnirani da bi se prikazali.

Postoji toliko više podataka u / proc fajl sistemu da je najbolji način da saznate više o njemu jeste referenca na proc (5) čovjeku stranicu, koja sadrži detaljne informacije o različitim datotekama koje se tamo nalaze.

Ostavite odgovor

Ova stranica koristi Akismet kako bi smanjila neželjenu poštu. Saznajte kako se podaci vašeg komentara obrađuju.