Atunci când efectuați sarcini de administrare în medii Linux, este ideal și recomandabil să aveți instrumente și utilitare care să ne permită să avem un control mult mai precis asupra datelor de analizat, întrucât astfel simplificăm și ordonăm sarcina, permițându-ne să obținem mult mai mult rezultate exacte.
Unul dintre aceste utilități este iostat și astăzi, în Solvetic, vom analiza modul în care îl putem folosi pentru a obține rapoarte directe, clare și total fiabile ale elementelor pe care le gestionăm în organizația noastră, indiferent de distribuția utilizată, în acest caz vom folosi Server Ubuntu 17.10.
Ce este iostatIostat (statistici de intrare / ieșire - statistici de intrare / ieșire) este un utilitar prin care va fi posibil să se obțină informații despre componentele de intrare și ieșire ale sistemului, oferind administratorului sau utilizatorului posibilitatea de a identifica probleme de performanță atât pe discul local și discuri la distanță sau informații generale despre sistemul de operare.
Utilizând această comandă, poate fi utilizată pentru a controla încărcarea dispozitivului de intrare / ieșire al sistemului, observând timpul în care aceste dispozitive sunt active în raport cu ratele lor de transfer medii în sistem.
Când folosim iostat, va fi posibil să generăm rapoarte care pot fi utilizate pentru a schimba configurația și echilibrarea sistemului într-un mod mult mai eficient sarcina de intrare și / sau ieșire între discurile fizice.
Primul raport generat de comanda iostat ne oferă statistici despre timpul general de la începutul procesului de pornire a sistemului, astfel fiecare raport ulterior acoperă timpul scurs de la raportul anterior; Toate statisticile vor fi raportate de fiecare dată când executăm comanda iostat.
Acest raport constă dintr-un rând de antet CPU urmat de un rând de statistici CPU și, dacă avem sisteme multiprocesor, statisticile CPU sunt calculate în întregul sistem ca medii între toate procesoarele existente și apoi un rând de anteturi de dispozitiv urmat de o linie de statistici pentru fiecare dispozitiv configurat.
1. Instalați iostat pe Ubuntu 17.10
În mod implicit în această distribuție, iostat este inclus în pachetul Ubuntu sysstat și îl putem instala pur și simplu executând următoarea comandă:
sudo apt install sysstat -y
MARI
2. Utilizați iostat în Ubuntu 17.10
Pasul 1
Prima comandă pe care o putem executa este iostat care va afișa informații despre utilizarea procesorului și statisticile I / O ale Ubuntu 17.10:
MARI
Pasul 2
Acolo vom vedea detalii precum:
- În prima linie, versiunea kernel-ului Linux și numele gazdei.
- În următoarele două linii vom vedea statistici ale procesorului, cum ar fi utilizarea medie a procesorului, procentul de timp în care CPU a fost inactiv și răspunsul I / O, procentul de expirare a procesorului virtual și procentul de timp în care CPU este inactiv în sistem.
- În ultimele două rânduri vom putea vedea raportul utilizării dispozitivului, cum ar fi numărul de blocuri de citire și scriere pe secundă și numărul total de blocuri și citiri de scriere pe secundă care au fost executate pe dispozitivul menționat.
Pasul 3
În mod implicit, comanda iostat generează raportul cu data curentă, prin urmare, dacă dorim să afișăm ora curentă, va fi necesar să folosim următoarea comandă:
iostat -t
MARI
Pasul 4
În acest moment dorim să verificăm versiunea de iostat, trebuie doar să executați următoarele:
iostat -V
MARI
Pasul 5
Merită menționat faptul că, pentru a vedea toate opțiunile, pe care le vom indica mai târziu, putem folosi următoarea linie:
iostat -help
MARI
3. Utilizați modul iostat avansat în Ubuntu 17.10
În unele cazuri, putem folosi câțiva parametri mai avansați în funcție de tipul de cerere solicitată, unele dintre aceste opțiuni sunt următoarele.
Pasul 1
Dacă vrem să vedem raportul unui dispozitiv o singură dată, vom executa următoarea comandă:
iostat -d
MARI
Pasul 2
Pentru a vedea raportul acestui dispozitiv continuu la fiecare 7 secunde, de 4 ori la rând vom executa următoarea linie:
iostat -d 7 4
MARI
Pasul 3
Dacă dorim să vedem statisticile anumitor dispozitive, vom folosi următoarea comandă:
iostat -p sda
MARI
Pasul 4
Putem vedea statisticile diferitelor dispozitive în același timp executând următoarele:
iostat -p sda, sdb, sdcPasul 5
Pentru a obține statisticile I / O ale dispozitivului în MB / secundă, vom executa următoarea comandă:
iostat -m
MARI
Pasul 6
Pentru a obține informațiile specifice unei partiții extinse trebuie să folosim următoarea comandă:
iostat -x "partiție"
MARI
Pasul 7
Pentru a afișa statisticile de utilizare a procesorului, comanda de utilizat va fi următoarea:
iostat -c
MARI
4. Rapoarte Iostat în Ubuntu 17.10
Acum, putem vedea că fiecare dintre opțiunile de utilizat sunt practice, dar fiecare linie conține o anumită valoare pe care la prima vedere nu o vom putea înțelege foarte bine, de aceea Solvetic va explica ce înseamnă fiecare dintre aceste valori pentru a înțelege și mai bine rezultatele generate de iostat înțelegând că comanda iostat generează trei tipuri de rapoarte care sunt:
- Raportul de utilizare a procesorului
- Raportul de utilizare a dispozitivului
- Raportul sistemului de fișiere de rețea
Pasul 1
Acum, valorile sunt după cum urmează. În primul raport generat de comanda iostat, avem detalii despre utilizarea procesorului. Pentru sistemele multiprocesor, valorile procesorului sunt medii globale pentru toate procesoarele active. Raportul are următorul format:
% utilizatorAfișează procentul de utilizare a procesorului care a avut loc în timpul execuției la nivel de utilizator (aplicație).
% GrozavReflectează procentul de utilizare a procesorului care a avut loc atunci când rulează la nivelul utilizatorului cu prioritate ridicată.
% sistemAfișează procentul de utilizare a procesorului care a avut loc în timpul execuției la nivel de sistem (nucleu).
% iowaitAfișează procentul de timp în care CPU-ul sau CPU-urile au fost inactiv în timpul cărora sistemul a avut o cerere de I / O pe disc în așteptare.
% furaAfișează procentajul de timp petrecut în mod neașteptat în așteptarea procesorului (procesorelor) virtual (e) în timp ce hipervizorul deservea un alt procesor virtual.
% inactivAfișează procentul de timp în care procesorul (CPU) a fost inactiv și sistemul nu a avut o cerere de I / O pe disc în așteptare.
Pasul 2
Al doilea raport generat de comanda iostat este Raportul de utilizare a dispozitivului din acest raport de statistică statisticile sunt furnizate de dispozitiv fizic sau de partiție. Raportul poate afișa următoarele câmpuri, în funcție de indicatorii utilizați:
DispozitivAceastă coloană furnizează numele dispozitivului (sau partiției), afișat ca hdiskn pentru nucleele 2.2, pentru al n-lea dispozitiv. Este afișat ca devm -n cu kerneluri 2.4, unde m este numărul principal al dispozitivului și n este un număr distinctiv. Cu nucleele mai noi, numele dispozitivului va fi afișat așa cum se arată în directorul / dev.
tpsIndică numărul de transferuri pe secundă care au intrat în dispozitiv. Un transfer este o cerere de I / O către dispozitiv, aceasta poate fi combinată cu mai multe cereri logice într-o singură cerere de I / O către dispozitiv. Un transfer are o dimensiune nedeterminată.
Blk_read / sSe referă la cantitatea de date citite de pe dispozitiv exprimată într-un număr de blocuri pe secundă. Blocurile sunt echivalente cu sectoarele cu nuclee 2.4 și versiuni ulterioare și, prin urmare, au o dimensiune de 512 octeți. Cu nucleele mai vechi, un bloc are o dimensiune nedeterminată.
Blk_wrtn / sIndică cantitatea de date scrise pe dispozitiv exprimată în mai multe blocuri pe secundă.
Blk_readEste numărul total de blocuri citite.
Blk_wrtnEste numărul total de blocuri scrise.
kB_citește / sIndică cantitatea de date citite de pe dispozitiv exprimată în kilobyți pe secundă.
kB_wrtn / sIndică cantitatea de date scrise pe dispozitiv exprimată în kilobyți pe secundă.
kB_citeșteEste numărul total de kilobyți citiți.
kB_wrtnEste numărul total de kilobyți scris.
MB_citire / sSe referă la cantitatea de date citite de pe dispozitiv exprimată în megaocteți pe secundă.
MB_wrtn / sSe referă la cantitatea de date scrise de pe dispozitiv exprimată în megaocteți pe secundă.
MB_citireEste numărul total de megaocteți citiți.
MB_wrtnEste numărul total de megaocteți scris.
rrqm / sAcesta este numărul de solicitări de citire îmbinate pe secundă care au fost puse în coadă pe dispozitiv.
wrqm / sAcesta este numărul de solicitări de scriere îmbinate pe secundă care au fost puse în coadă pe dispozitiv.
r / sEste numărul de solicitări de citire care au fost emise pe dispozitiv pe secundă.
w / sEste numărul de cereri de scriere care au fost emise pe dispozitiv pe secundă.
rsec / sSunt numărul de sectoare citite de pe dispozitiv pe secundă.
wsec / sAcestea reprezintă numărul de sectoare scrise ale dispozitivului pe secundă.
rkB / sAcestea sunt numărul de kilobyți citiți de pe dispozitiv pe secundă.
wkB / sAcestea sunt numărul de kilobyte scrise pe dispozitiv pe secundă.
rMB / sSunt numărul de megaocteți citiți de pe dispozitiv pe secundă.
wMB / sSunt numărul de megaocteți scris pe dispozitiv pe secundă.
avgrq-szEste dimensiunea medie (în sectoare) a solicitărilor care au fost emise către dispozitiv.
avgqu-szEste durata medie a cozii de solicitări care au fost emise către dispozitiv.
asteaptaEste timpul mediu (în milisecunde) pentru solicitările de I / O emise pentru ca dispozitivul să fie servit în sistem.
svctmEste timpul mediu de service (în milisecunde) pentru solicitările de I / O care au fost emise către dispozitiv.
%UtilIndică procentul de timp CPU în care cererile de I / O au fost emise dispozitivului (utilizarea lățimii de bandă pentru dispozitiv). Saturația dispozitivului apare atunci când această valoare este aproape de 100%.
Pasul 3
Al treilea raport iostat este raportul Network File System (NFS) care oferă statistici pentru fiecare sistem de fișiere de rețea montat pe sistem. Raportul prezintă următoarele câmpuri:
Sistemul de fișiereAceastă coloană afișează numele gazdei serverului NFS urmat de două puncte și numele directorului în care este montat sistemul de fișiere de rețea.
rBlk_nor / sIndică numărul de blocuri citite de aplicații prin interfața de apelare a sistemului de citire, un bloc are o dimensiune de 512 octeți.
wBlk_nor / sIndică numărul de blocuri scrise de aplicații prin interfața de apel a sistemului de scriere.
rBlk_dir / sSe referă la numărul de blocuri citite din fișierele deschise cu semnalizatorul O_DIRECT.
wBlk_dir / sIndică numărul de blocuri scrise în fișiere deschise cu semnalizatorul O_DIRECT.
rBlk_svr / sSe referă la numărul de blocuri citite de pe server de clientul NFS printr-o cerere de citire NFS.
wBlk_svr / sIndică numărul de blocuri scrise pe server de clientul NFS printr-o cerere NFS WRITE.
op / sIndică numărul de operații care au fost emise către sistemul de fișiere pe secundă.
rops / sIndică numărul de operații de „citire” care au fost emise către sistemul de fișiere pe secundă.
wops / sSe referă la numărul de operații de „scriere” care au fost emise către sistemul de fișiere pe secundă.
5. Parametri generali iostat în Ubuntu 17.10
Parametrii pe care îi putem folosi cu iostat sunt:
-cGenerați raportul de utilizare a procesorului.
-dGenerați raportul de utilizare a dispozitivului.
-hPermiteți raportul NFS să fie afișat după alegere - pentru un om este mai ușor de citit.
-kAfișează statistici în kilobyți pe secundă în loc de blocuri pe secundă. Datele afișate sunt valabile numai cu nucleele 2.4 și versiuni ulterioare.
-mGenerează statistici în megaocteți pe secundă în loc de blocuri sau kilobiteți pe secundă. Datele afișate sunt valabile numai cu nucleele 2.4 și versiuni ulterioare.
-nAfișează raportul Network File System (NFS). Această opțiune funcționează numai cu kernel 2.6.17 și versiunile ulterioare.
-p[{dispozitiv [,…] | ALL}]: Opțiunea -p afișează statisticile dispozitivelor de bloc și toate partițiile lor care sunt utilizate de sistem. Dacă adăugăm un nume de dispozitiv pe linia de comandă, vor fi afișate statisticile și toate partițiile acestuia. În cele din urmă, cuvântul cheie ALL indică faptul că statisticile trebuie afișate pentru toate partițiile și dispozitivele bloc definite de sistem.
-tTipărește fiecare raport generat. Formatul marcajului de timp poate depinde de valoarea variabilei de mediu S_TIME_FORMAT.
-VImprimați versiunea iostat utilizată.
-XAfișați statistici extinse.
-zIndică iostat să sară ieșirea oricărui dispozitiv pentru care nu există activitate în perioada de eșantionare selectată.
După cum putem vedea, iostat este mai mult decât un simplu utilitar de sistem, trebuie să profităm la maximum de el și astfel să gestionăm sistemele noastre de operare într-un mod mult mai complet.