Rijetke su prilike da Linux desktop doživi usporavanje. To, međutim, ne znači da se to nikada ne događa, jer bi to bilo netočno. U većini slučajeva, usporavanje sustava može se pratiti do određene aplikacije (često je VirtualBox odgovoran). Ipak, mogući su i problemi uzrokovani uskim grlima tvrdog diska.
Evo kako se pomoću nekoliko naredbi mogu identificirati uska grla povezana s hardverom.
1. iostat
Ova naredba izvještava o CPU statistici i I/O (ulaz/izlaz) statistici za uređaje i particije. S iostatom možete pratiti učitavanje uređaja praćenjem vremena kada je uređaj aktivan u odnosu na prosječne brzine prijenosa. Ova naredba generira izvješća koja se mogu koristiti kao pomoć pri konfiguriranju vašeg sustava za optimalnu izvedbu. Uz iostat, postoje tri metrike koje biste trebali smatrati prioritetima:
- %util – Koliko je vremena disk bio zauzet rukovanjem zahtjevima. Ako je broj veći od 80%, velike su šanse da imate posla s uskim grlom.
- await – Prosječno vrijeme za završetak I/O zahtjeva. Ako je vrijednost visoka, imate posla s diskom koji je ili prespor ili ima problema.
- svctm – Prosječno vrijeme usluge za I/O zahtjeve. Ako je vrijednost visoka, to znači da disku treba predugo da odgovori.
Jedna stvar koju treba imati na umu je da iostat navodi sve uređaje (uključujući povratne petlje). Uređaji koje želite potražiti najvjerojatnije su tipa nvme, sdX i zram (gdje je X slovo).
Iostat možda nije instaliran na vašem sustavu prema zadanim postavkama. Ako nije, možete instalirati sysstat aplikaciju naredbom poput:
- Distribucije temeljene na Ubuntuu – sudo apt-get install sysstat -y
|
1 |
sudo apt-get install sysstat -y |
- Distribucija temeljena na Fedori – sudo dnf instaliraj sysstat -y
|
1 |
sudo dnf instaliraj sysstat -y |
2. iotop
Naredba iotop slična je iostatu, ali umjesto generiranja statičkih izvješća, ona izvještava u stvarnom vremenu. Iotop je sličan vrh naredba; razlika je u tome što top prikazuje statistiku o softveru i uslugama, dok iotop prikazuje procese i aktivnost diska. Ako uočite proces koji koristi prekomjerne sistemske resurse, to je vjerojatno vaš problem.
Aplikacija iotop se mora pokrenuti sa sudo privilegijama. Kada se pokrene, vidjet ćete stupce za TID, PRIO, korisnika, čitanje diska, pisanje diska, zamjenu, IO prioritet i naredbu. Tri najvažnija bita informacija koje treba provjeriti su čitanje diska, pisanje diska i IO prioritet. Ako pronađete bilo koji proces s visokom vrijednošću Read ili Write, tu je vaš problem. U isto vrijeme, ako primijetite da nešto koristi veliki broj I/O resursa (IO prioritet), trebali biste prilagoditi prioritet tog procesa pomoću naredbe ionice (za postavljanje ili dobivanje I/O klase raspoređivanja procesa i prioritet).
Da biste instalirali iotop na Ubuntu ili Fedora-bazirane distribucije, naredbe bi bile:
|
1 2 |
sudo apt-get install iotop -y sudo dnf install iotop -y |
3. dstat
Naredba dstat je još jedna metoda praćenja kako se resursi sustava koriste, posebno I/O diska. Naredba dstat je gotovo kao kombinacija iotop i iostat, jer prijavljuje isto toliko informacija kao iostat, ali to radi u stvarnom vremenu kao iotop. Najvažnije pojedinosti koje treba provjeriti bile bi čitanje/pisanje diska (ako stalno postoji velika aktivnost, to bi mogao biti vaš problem) i čekanje diska (koliko je potrebno da se dovrše pojedinačne I/O operacije. Visok broj ukazuje na usko grlo).
Možete instalirati dstat na Ubuntu ili Fedora-bazirane distribucije pomoću naredbi:
|
1 2 |
sudo apt-get install dstat -y sudo dnf install dstat -y |
Jedan zgodan mali trik je korištenje ograničenja za to što su dstat izvješća. Na primjer, ako želite samo vidjeti CPU statistiku, izdajte naredbu:
Ako želite samo vidjeti statistiku diska, izdajte naredbu:
4. sar
The sar naredba je također instalirana zajedno sa sysstatom i prikuplja, izvještava i sprema informacije o aktivnostima sustava. The sar naredba je malo kompliciranija od gornjih naredbi jer morate koristiti opcije. Na primjer, ako želite vidjeti tri skupa CPU statistike s dvije sekunde između anketa, naredba bi bila:
Gornja naredba ispisala bi tri skupa CPU statistike, a zatim četvrti za prosjek. Izlaz uključuje sljedeće:
- CPU – broj jezgri CPU-a koja se testira (zadano je sve).
- %Korisnik – postotak vremena kada se aplikacija pokreće na razini korisnika.
- %Nice – postotak vremena kada se aplikacija izvodi na korisničkoj razini s dobrim prioritetom.
- %system – postotak vremena potrebnog za izvršavanje procesa na razini sustava.
- %iowait – postotak vremena u kojem CPU miruje s I/O zahtjevom diska na čekanju.
- %steal – postotak vremena u kojem je virtualni CPU bio u stanju mirovanja jer je host servisirao drugi VM.
- %idle – postotak vremena u kojem CPU miruje bez I/O zahtjeva na čekanju.
Ako sumnjate da određena jezgra predstavlja problem, uvijek je možete testirati brojem, ovako:
Nakon opcije -P slijedi broj jezgre koji želite testirati.
5. smartctl
Ako želite provjeriti ispravnost svojih tvrdih diskova, smartctl naredba je ono što želite koristiti. Postoje dvije posebne informacije u a smartclt izvješće na koje treba paziti:
- Reallocated_Sector_Ct – broj sektora koji su ponovno dodijeljeni zbog grešaka. Ako je broj visok, disk bi mogao biti u kvaru.
- Seek_Error_Rate – ako je vrijednost visoka, pogon možda ima problema s lociranjem određenih informacija, što bi mogao biti znak oštećenja.
I eto, pet korisnih naredbi koje mogu pomoći u pronalaženju uskih grla na Linux sustavu. Preporučuje se dodatno istražiti svaku od njih korištenjem man naredbe (primjerice, man smartctl, man sar, man dstat, man iotop, i man iostat) kako biste u potpunosti iskoristili njihove mogućnosti.




