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ę do top jak vim do vi.
Ciekawe, czy da się w tej metaforze znaleźć jakiś odpowiednik emacsa.
warto jednak pamiętać, że sortowanie nie zawsze działa jak powinno ;-)
Rozwiniesz?
(prawdę mówiąc nigdy się temu zbyt uważnie nie przyglądałem, mi w tym narzędziu jest potrzebne jedynie szybkie wyciągnięcie na wierzch tego czegoś co aktualnie pożera cpu albo pamięć a to
htoprobi dobrze)ja właśnie zawiodłem się na przeglądaniu co pożera cały procesor - tabelka ładnie posortowała się na początku, ale potem nawet procesy obciążające cały rdzeń spokojnie siedziały na końcu listy albo gdzieś w środku (jakby sortowanie było co jakiś czas), a powinny na początku. a więc jeśli na wykresie widać, że coś pożera procesor, warto przelecieć się po całej liście.
Hmm, ja się chyba z niczym takim nie spotkałem, więc trudno mi komentować. Może system był tak przyduszony, że sam
htopnie dawał rady się dorwać do procesora (albo nie wyrabiały się calle systemowe których używał)?W każdym razie przy takim podejrzeniu spróbowałbym jakiegoś M p (przesortuj po pamięci a potem znowu po cpu) albo może Ctrl-L (refresh)
z tego co pamiętam ludzie na webhostingtalk też się z tym spotkali. no cóż, jak znowu będę korzystał z htop'a, trzeba będzie go dokładnie sprawdzić. niestety coś małe obciążenie jest na serwerach... ;-)
proszę bardzo: htop ma się do top, jak emacs do vima ;)
HTop używam na paru serwerach. Jest dość przydatny.
A IWM na saturnie ubije?
O ile zostanie zainstalowane.
PS Nie wyciągaj mi pracy na prywatnego bloga ;-)