Pisałem niedawno o interesującym zastępniku top. Dziś, do kompletu, o paru innych topopodobnych programach, pozwalających ad hoc zorientować się w obciążeniu maszyny a wymagających do działania jedynie konsoli.
Wszystkie wymieniane programy są dostępne w repozytoriach Ubuntu i
Debiana i na tych systemach ich instalacja ogranicza się do apt-get
install *nazwa*
.
iotop
iotop to bezpośrednio podana informacja który program tak rzęzi
dyskiem. Najwygodniej uruchamiać go z opcją -o
(pokazywanie wyłącznie
procesów, które coś znaczącego robią)
$ iotop -o
Nie jest to oczywiście żaden unikat, informacje o ilości zapisów, odczytów czy poziomie użycia pliku wymiany można sobie włączyć w wielu programach monitorujących. Ale tu jest to podane bezpośrednio i od razu.
jnettop
jnettop pokazuje aktywne połączenia sieciowe, sortując je według wykorzystywanego pasma. Ciekawostką jest adnotowanie połączeń HTTP informacją o pobieranej stronie.
Działanie wymaga uprawnień administracyjnych, uruchamiamy przez
$ sudo jnettop
vmstat
Polecenie vmstat chyba każdy administrator zna, jest to narzędzie standardowe i obszernie opisywane. Wspominam tu o nim, bo może działać w trybie monitorowania obserwowanego systemu a jest dostępne praktycznie wszędzie.
Kilka przydatniejszych sposobów uruchamiania vmstat
:
$ vmstat
Szybkie (jednorazowe) sprawdzenie poziomu zużycia pamięci i procesora.
$ vmstat 3
Jak wyżej ale w trybie monitorowania, z wyświetlaniem nowych statystyk co 3 sekundy (oczywiście zamiast 3 można podać dowolną inną liczbę).
$ vmstat -a 3
Dodaje (zamiast statystyki stron używanych na bufory i cache) informację o ilości pamięci aktywnej i nieaktywnej. Pamięć aktywna to strony, które były niedawno używane (odczytywane lub zapisywane przez procesor), pamięć nieaktywna to strony zaalokowane ale obecnie nie wykorzystywane.
$ vmstat -an 5
To samo co wyżej ale przyjaźniejsze dla ewentualnych skryptów parsujących.
Opcja -n
wyłącza powtarzanie nagłówków kolumn (domyślnie są ponawiane
co dwadzieścia wierszy).
$ vmstat -d
Statystyka zapisów/odczytów na poszczególne dyski. Teoretycznie także tutaj można by stosować tryb monitorowania (dodając jakąś cyferkę), w praktyce przynajmniej na moich systemach każdorazowo wyświetlanych jest trzydzieści lub więcej wierszy (16 ramdysków, 8 urządzeń loop, ...) i ciężko to obserwować.
Są też opcje prezentujące rozmaite zbiorcze statystyki: vmstat -s
,
vmstat -m
, vmstat -D
, vmstat -f
, uciekają mi już trochę poza
tematykę tego artykułu więc nie będę ich teraz omawiał.
latencytop
latencytop to bardziej egzotyczna ale ciekawa zabawka - próba monitorowania przyczyn, dla których rozmaite aplikacje nie działają płynnie. Sztandarowe zastosowania są desktopowe (tropienie przyczyn rwanego dźwięku, skaczącego wideo albo nie odświeżających się okien) ale program można próbować odpalać i na serwerze (zwłaszcza, gdy coś działa wolno mimo dostępnego procesora i pamięci), powinien pokazać czy np. bardziej widać oczekiwanie na I/O, na procesor, czy może na jakieś blokady (i jakiego rodzaju).
Także tutaj potrzebne są uprawnienia roota:
$ sudo latencytop
Program prezentuje zarówno zbiorcze statystyki dla systemu, jak
informacje o najbardziej obciążającym procesie. Ten ostatni można
zmieniać przy pomocy strzałek, jest też zmieniany samoczynnie (na
najbardziej obciążający) co paręnaście sekund (albo przy ręcznym
odświeżeniu następującym po wciśnięciu R
- od refresh).
Niestety nie umiem wyłączyć autoodświeżania. Trochę irytujące, gdy chce się skupić uwagę na innym niż najcięższy procesie.
powertop
powertop monitoruje przyczyny wychodzenia różnych urządzeń ze stanu uśpienia. Wbrew manualowi (wiążącemu narzędzie z procesorami Intela) pokazuje pewne interesujące dane nawet na komputerze z AMD64.
Ciekawostką jest wyświetlanie przez program sugestii dotyczących rekonfiguracji systemu dla lepszego oszczędzania energii.
Uruchamianie:
$ sudo powertop
itop
itop
wspominam już bardziej jako ciekawostkę. Jest
to program monitorujący ilość przerwań.
$ itop -a
Domyślnie prezentuje wyłącznie aktywne, z opcją -a
wszystkie.