Velmi podrobně jsme se ovládání procesů věnovali v článku Procesy v Linuxu aneb jeden admin vládne všem, kde je zmínka i o programu top
. Ten dokáže v terminálu dynamicky zobrazovat informace o jednotlivých procesech a nabízí i omezenou interaktivitu a základní ovládání jednotlivých procesů. Program dokáže zobrazovat i základní údaje o aktuálním stavu systému, zátěži, zabraných systémových prostředcích a podobně.
Top je velmi oblíbeným nástrojem, protože je přehledný a interaktivní. Je ideálním pomocníkem ve chvíli, kdy potřebujeme sledovat chování systému a najít v něm třeba viníka nějakého problému. Pokud potřebujeme odhalit, který proces nám spotřebovává nejvíce paměti nebo příliš zatěžuje procesor, je takový interaktivní pomocník nedocenitelný.
Program top
ovšem pochází z pradávných unixových časů a podle toho vypadá i se chová. Příliš toho nenamluví, je černobílý a jeho ovládání není zrovna intuitivní. Je sice velmi dobře přizpůsobitelný, ale i pro tak jednoduchou věc, jakou je jiné třídění zobrazených procesů, se budete muset začíst do dokumentace.
Brazilec Hisham H. Muhammad se už v roce 2003 rozhodl vytvořit něco lepšího a modernějšího, což dalo základ dnešnímu programu Htop. Ten se snaží dostat aplikaci alespoň do dob slavného Norton Commanderu (a jeho klonů), včetně způsobu ovládání, barevného zobrazení a jednoduché intuitivní manipulace. Jak napsal jeden náš čtenář pod už zmíněným článkem o linuxových procesech: Takhle měl vypadat Top před dvaceti lety.
Htop se představuje
Před dvěma měsíci vyšel Htop ve verzi 1.0, která přinesla řadu zajímavých novinek. Právě touto verzí se budeme v článku zabývat. Přestože je programu už osm let, jeho vývoj stále běží a jak je vidět, pořád je co vylepšovat.
Na první pohled vás při spuštění Htopu praští do očí několik vlastností, které starý top nemá:
- Celé prostředí je možné ovládat pomocí kurzorových kláves či myši.
- Prostředí využívá knihovnu ncurses, takže obsahuje i některé „grafické prvky“ jako grafy, stromové zobrazení procesů a podobně.
- Pro lepší orientaci jsou používány barvy.
- Na spodní řádce je nápověda k funkčním klávesám.
Sám autor ještě začínajícího uživatele upozorňuje na další vlastnosti:
- V Htop můžete scrollovat horizontálně i vertikálně a vidíte tak všechny procesy i všechny jejich parametry.
- Htop startuje rychleji. Top zřejmě nějakou dobu sbírá data, než něco zobrazí.
- V Htopu není potřeba pro zabití procesu psát jeho PID, v topu ano.
- Stejně tak nemusíte znát PID, pokud chcete třeba měnit prioritu procesu.
- Proti Htopu je ovšem Top podstatně starší, a tedy i používanější a odzkoušenější.
Hlavní devizou Htopu je ale přehledné ovládání. Můžete v něm sice použít některé klávesy pro rychlejší ovládání, ale pokud nechcete, nemusíte. Vše podstatné pak najdete přímo na obrazovce: barevný kurzor ovládáte šipkami či myší a ostatní funkce vyvoláte klávesami F1-F10.
Ovládání Htop v praxi
Obrazovka programu je rozdělena na dvě části, pokud nepočítáme spodní lištu s nápovědou ke klávesám. Horní část obrazovky ukazuje grafy zatížení procesorových jader, paměti a swapu a také počty spuštěných procesů, hodnoty load a uptime systému.
Důležitější je pro nás ale větší část, která obsahuje informace o samotných procesech. Najdete tu PID procesu, uživatele, pod kterým je spuštěn, prioritu, informace o zabrané paměti, zátěž procesoru, čas běhu a konečně název příkazu i se všemi jeho parametry. Celý výpis je pravděpodobně vyšší i širší než váš terminál, pomocí kurzorových kláves se ale jednoduše dostanete na všechny jeho strany.
Stejně jako v případě Topu jsou standardně procesy setříděny podle toho, jak zatěžují procesor. Ty aktivní jsou tedy vždy nahoře. Pomocí klávesy F6 můžeme nechat seznam přetřídit podle jiných parametrů, třeba podle zabrané paměti.
Velmi šikovné je také vyhledávání pomocí kláves F3 a F4. Mírně se od sebe liší. Zatímco funkce Search (F3) nechá na obrazovce úplný seznam procesů a přesouvá kurzor na výsledek hledání, funkce Filter (F4) zobrazí jen ty procesy, které odpovídají zadanému výrazu. Navíc je vyhledávání okamžité, stačí začít psát a procesy se interaktivně vytřídí.
Podobně užitečná je také klávesa F5, která přepne zobrazení do stromu. Přehledně pak vidíte, který proces je rodičem kterého potomka.
K řízení procesů slouží trojice kláves F7-F9, které dovolují zvyšovat či snižovat prioritu procesu (nice) či proces zabít (kill). Pohodlné zabíjení procesů je také hlavním důvodem, proč začal Hisham H. Muhammad vůbec Htop programovat. Jak už bylo zmíněno, Top po vás chce ručně opsat PID likvidovaného procesu. V Htopu stačí najet kurzorem na problémový proces a stisknout F9. Program se samozřejmě zeptá, jakým signálem chcete proces zabít.
Poslední dvě klávesy, které zbývají, jsou F2 pro menu a F10 pro obligátní ukončení programu. Nastavení je pro nás samozřejmě zajímavější. Umožňuje přizpůsobit vzhled celého programu. Umožňuje přizpůsobovat horní část obrazovky a přidávat si do ní další ukazatele, případně ty aktuální odebírat.
Zároveň je tu možné například skrýt systémové procesy či procesy jiných uživatelů či si zvolit, jaké položky budou u procesů zobrazeny. Můžete si tak program přizpůsobit tak, aby ukazoval jen ty informace, které vás zajímají.
Htop je top po plastice
Htop je vlastně poměrně jednoduchá aplikace, která dělá jednu věc a dělá ji pořádně. Přestože by se zdálo, že tak triviální věc, jakou je sledování a zabíjení procesů, není možné dělat jinak než tradičně, Htop ukazuje, že to jde. Já sám ho používám výhradně namísto Topu.
Oceňuji na něm především logičtější ovládání, vyšší přehlednost a to, že kvůli každé drobnosti nemusím prohlížet manuálovou stránku nebo kompletní dokumentaci. Pokud používáte Midnight Commander, budete v Htopu jako doma. Dokonce má přednastavenou i speciální barevnou paletu, aby vypadal stejně jako MC.