yum install sysstat
iostat
iostat – jest
narzędziem prezentującym wykorzystanie naszych urządzeń blokowych, czyli
w praktyce jest to monitorowanie pracy dysków twardych, tzw. I/O.
Saturacja dysków twardych jest zjawiskiem bardzo niepożądanym, które automatycznie przekłada się na zwolnienie pracy całego systemu, dzięki iostatowi, możemy szybko się przekonać czy przyczyna naszych problemów leży właśnie w za dużym wykorzystaniu zasobów I/O.
Przykładowe użycie: iostat -x 1avg–cpu: %user %nice %system %iowait %steal %idleDevice rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq–sz avgqu–sz await svctm util
0,46 0,00 0,08 0,02 0,00 99,44
sda 0,09 0,77 0,07 0,23 2,69 7,87 35,74 0,00 4,49 0,84 0,02
W wyniku widzimy dane dla naszego urządzenia ‚sda‚.
- rrqm/s – ilość skolejkowanych żądań odczytu z dysku na sekundę
- wrqm/s – ilość skolejkowanych żądań zapisu na dysk na sekundę
- r/s – ilość odczytów z dysku na sekundę
- w/s – ilość zapisów na dysk na sekundę
- rsec/s – ilość sektorów czytanych na sekundę
- wsec/s – ilość sektorów zapisywanych na sekundę
- avgrq–sz – średni rozmiar w sektorach
- avgqu–sz – średnia wielkość kolejki oczekujących żądań dostępu do dysku
- await – średni czas dostępu do dysku (z uwzględnieniem kolejki) w milisekundach
- svctm – średni czas obsługi żądania w milisekundach
- %util – procentowe zużycie procesora potrzebne do obsłużenia żądania, jeśli wynosi 100% dochodzi do sytuacji saturacji zasobów
Jeśli wskazania iostata pokazują utylizację na poziomie 80-100% należy znaleźć przyczynę i ją wyeliminować, sytuacja ta oznacza, że nasz procesor spędza głównie czas w oczekiwaniu na dane a nie na ich przetwarzaniu.
iotop
Na jednym z serwerów zauważyłem dziwny wzrost obciążenia. Tzw. LOAD
od kilku dni po woli rósł. top pokazywał że dwa rdzenie CPU czekają na
dane z dysku – tzw. io wait na poziomie 80~90% ale żaden proces w
znaczącym stopniu nie obciążał CPU.
Jest kilka narzędzi (iostat, wmstat), które pozwalają monitorować obciążenie dysków ale ja nie szukałem informacji czy i w jakim stopniu dyski są obciążone – wiedziałem że są. Chciałem dowiedzieć się który proces generuje to obciążenie – by móc go ubić
Przydatny okazał się programik iotop – który działa jak top ale sortuje procesy w zależności od generowanego przez nie obciążenia dysków – właśnie tego szukałem:
Program jest w standardowych repozytoriach Debiana i można go zainstalować w ten sposób:
Jest kilka narzędzi (iostat, wmstat), które pozwalają monitorować obciążenie dysków ale ja nie szukałem informacji czy i w jakim stopniu dyski są obciążone – wiedziałem że są. Chciałem dowiedzieć się który proces generuje to obciążenie – by móc go ubić
Przydatny okazał się programik iotop – który działa jak top ale sortuje procesy w zależności od generowanego przez nie obciążenia dysków – właśnie tego szukałem:
Program jest w standardowych repozytoriach Debiana i można go zainstalować w ten sposób:
apt-get install iotop
TOP
TOP VIRT - to co mysli ze mam, RES -> tyle ile faktycznie ma,
s-STAN np. z - zombie, przy CPU id-ile proces byl nieuzywany,
wa - io/wait po tym mozna sprawdzic czy nie potrzebujemy szybszego dysku,
hi -> przerwania < > - sortowanie albo po lewej albo po prawej kolumnie, R -> od najwiekszych do najmniejszych 1 -> pokazuje ilosc procesorow NI - nice, priorytet. Dziala tak ze jak ktos ma wiekszy NICE to ma mniej procesora.
Zeby przyspieszyc np tylko jeden proces nalezy dac komus NIC ujemny. r - zmieniamy NICE. Minusowe wartosci da sie robic tylko z konta roota. k - killuje load avarage -> jak obciazany jest system,
ilosc procesow ktore stoja w jakiejs kolejce do egzekucji.
Kazdy system moze inaczej, powyzej 1-ego juz wiadomo ze jest troche obciazony.
Cieszę się że mój artykuł o iotop tak się spodobał że postanowiłeś go w całości skopiować.
OdpowiedzUsuńRada na przyszłość: dobrą praktyką jest linkowanie pod artykułem do wykorzystanych stron.