Chyba każdy, kto dłużej poużywał linuksowej konsoli, ma w palcach
polecenie top
. Też mam ale znalazłem bardzo przyjemną alternatywę.
Program nazywa się htop (w Ubuntu i Debianie jest dostępny
w pakietach - apt-get install htop
) i może być używany jako
bezpośredni zastępnik top
. Pojawia się parę ozdobników
ale podstawowa treść jest ta sama.
Od razu po uruchomieniu można poczuć różnicę: po liście procesów da
się nawigować. Strzałki lewo-prawo pozwalają przesuwać widok (i
np. sprawdzić wiersz poleceń zadanego procesu - coś, co w top
stanowi problem). Strzałki góra-dół (a także PgUp
/PgDown
)
pozwalają nawigować w pionie po liście wszystkich procesów.
Jest też poręczna opcja szukania procesu po nazwie (uruchamiana
skrótem F3
albo /
).
Zaznaczony proces można zabić (F9
albo k
). Zamiast wpisywać
numer sygnału wybieramy odpowiedni z listy.
Dla większości poleceń działają zarówno odziedziczone z top
skróty
klawiszowe (jak k
w celu zabicia procesu albo M
w celu
posortowania po zużyciu pamięci), jak klawisze funkcyjne (wyświetlane
u dołu ekranu).
Co ciekawe, działa nawet mysz, którą można wybierać procesy albo klikać jako przyciski wyświetlane u dołu opisy klawiszy funkcyjnych. Działa ona nawet, gdy
htop
jest uruchamiany przez ssh na zdalnej maszynie.
Przy pomocy spacji można zaznaczać procesy (wiele naraz). Gdy jakieś procesy są zaznaczone, wysyłanie sygnału czy zmiana priorytetu dotyczy wszystkich.
Procesy można oczywiście różnorodnie sortować, można ograniczać do
jednego użytkownika (skrót klawiszowy u
, pojawia się lista
wszystkich aktywnych użytkowników z której wybiera się właściwego).
Można też zorganizować widok w drzewo (t
lub F5
).
Mamy kilka możliwości prezentacji wątków (pamiętajmy, że Linux przydziela każdemu wątkowi osobny pid). Można je pokazywać normalnie ale lepiej włączyć widok, w którym zostają wyróżnione kolorem
Można też wątki całkowicie schować (przy okazji: niebieskie nazwy programów to efekt opcji Highlight basename):
Ustawiane jest to w ramach konfiguracji programu (F2
a potem
nawigacja strzałkami do Display options
)
(a na bieżąco można chować/pokazywać wątki przy pomocy klawisza H
).
W ramach setupu można też sobie skonfigurować rozmaite inne opcje
(wyświetlane kolumny, kolorystykę, zawartość górnego panelu
informacyjnego, ... ). O ile tylko htop
zostanie kulturalnie
zamknięty (F10
albo q
), zostają one zapisane i zachowane
do następnego uruchomienia (w pliku ~/.htoprc
).
Wreszcie, klawisz s
aktywuje podgląd strace
(realizowanych wywołań
systemowych) dla wyróżnionego procesu
a klawisz l
wyświetla (przy pomocy lsof
) otwarte przezeń pliki.
Z obu tych widoków można wyjść naciskając Esc
albo q
. Z innych
ciekawostek wspomnę jeszcze skrót a
(od affinity) pozwalający na
wielocorowych maszynach przypisać proces do konkretnych procesorów (po prostu
pokazuje checkbox dla każdego procesora).
Naprawdę użyteczne narzędzie, wolę je nie tylko od top
ale też od
wszelkich graficznych monitorów systemu.
htop
ma się dotop
jakvim
dovi
.Ciekawe, czy da się w tej metaforze znaleźć jakiś odpowiednik emacsa.