Portál AbcLinuxu, 27. května 2024 19:43

htop: top na druhou

18. 2. 2005 | Matouš Jan Fialka
Články - htop: top na druhou  

Program pro manipulaci a zobrazování informací o běžících procesech. Oproti běžnému top umožňuje posouvat výpis všemi směry, podporuje barvy a také třeba práci s více procesy najednou.

Kdo by neznal program top! Vyskytuje se snad v každé distribuci GNU/Linuxu a jeho vzhled je nám všem důvěrně znám. Ukazuje výpis "top" procesů seřazených podle nějakého kritéria a také umožňuje procesy zabíjet. Dozvíme se z něj aktuální i průměrnou míru zatížení systému, vyčteme z něj uptime i aktuální čas a mnoho dalších velice užitečných informací o stavu systému a bežících procesech. Umí toho prostě mnoho, ale člověk je věčně nespokojený tvor, a tak by toho chtěl vždy víc, než zrovna má.

Program top neumí například označit několik procesů a kolektivně je pozabíjet. Neumí posouvat výpis procesů dále, než jen k dolnímu okraji terminálu. A už vůbec neumí posouvat doprava a doleva! Vlastně neumí posouvat vůbec. Neumí také ve výpisu procesů hledat. Toto a mnohé jiné právě nabízí projekt htop, se kterým se nyní stručně seznámíme.

Stažení a překlad

K úspěšnému překladu programu htop ze zdrojových kódů stačí mít v zásadě kteroukoli funkční GNU/Linuxovou distribuci a knihovnu Ncurses.

Zdrojové kódy si stáhneme a někam rozbalíme a provedeme standardní kompilační proceduru třeba takto
( ./configure && make && su -c make install ) || echo "chyba".

Pro úplnou představu o malém množství závislostí uvedu také výpis knihoven (pomocí ldd `which htop`) s nimiž je htop při kompilaci slinkován.

libm.so.6 => /lib/libm.so.6 (0x40024000)
libncurses.so.5 => /lib/libncurses.so.5 (0x40046000)
libc.so.6 => /lib/libc.so.6 (0x40085000)
libgpm.so.1 => /lib/libgpm.so.1 (0x401b4000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Funkčnost

Program htop je na první pohled funkčně podobný původnímu top, ale je mírně vylepšený. Co nás zaujme již při prvním spuštění (a "naskočí" opravdu velice svižně) je jeho barevnost. Program htop hojně využívá barev nejen pro ozdobu, ale též k zvýraznění různých informací. Na screenshotu dole si můžete prohlédnout, jak vypadá hned po prvním spuštění.

Výchozí nastavení htop

Další věcí, která nesporně přitahuje pozornost, je lišta s klávesovými zkratkami, ne nepodobná té z Midnight Commanderu. Na ní nalezneme prakticky vše, co je k potřebě. Z nápovědy se pak dozvíme, že htop lze ovládat nejen stisky funkčních kláves (což je otravné, protože jsou daleko), ale i "normálnějšími" klávesovými zkratkami. Autor zřejmě myslel jak na lidi, kteří mají rádi klasický top, tak na lidi, kteří mají rádi ovládání přes funkční klávesy a'la MC.

Za naprosto dokonalou považuji možnost posouvat se ve výpisu procesů všemi směry za hranice terminálu. Je to velice příjemné, protože si lze detailně prohlédnou příkazovou řádku procesu, který třeba nějak zlobí. Pokud jich zlobí víc, proč potom nevyužít možnosti označit více procesů (klávesou space) a neprovést na nich naráz SIGKILL nebo jinou akci? A nemusí se přitom ručně zadávat žádné PID ani nic jiného (viz screenshot). V tom tkví, alespoň pro mne, hlavní výhoda htop oproti top.

/images/clanky/fialka/htop-multi-kill

Sedíte zrovna u stroje, na němž běží stovky procesů? To asi oceníte, že htop umožňuje ve výpisu procesů hledat. Hledání je inkrementální, takže se ve výpisu posouváte zároveň s tím jak píšete název procesu, který hledáte.

V normálním top, když chceme změnit prioritu procesu, musíte hodnotu zadat číselně. Ale htop umožňuje měnit prioritu procesu, na němž se nalézá posuvník, jednoduše pomocí kláves plus a mínus.

Nastavení

Podívejme se nyní, jaké jsou možnosti nastavení htop. V nastavení programu narazíme na poněkud nezvyklou nabídku (viz screenshoty dole, na nichž zároveň vidíte výchozí nastavení htop). Plocha, kterou htop na obrazovce zabírá, je rozdělena na tři díly: záhlaví (levé a pravé), které obsahuje převážně "měřiče". Druhý díl tvoří plocha s procesy a třetím je řádek s klávesovými zkratkami. V konfiguraci můžeme silně ovlivnit obě záhlaví a výpis procesů. S řádkem klávesových zkratek se bohužel nedá dělat nic (uvítal bych možnost jej v konfiguraci vypnout).

Hrátky se záhlavím

Při nastavování záhlaví programu htop se tedy člověk rozhodně nenudí. Ne, že by snad přednastavené hodnoty byly špatné. Spíš naopak. Ale zkuste si s tím nehrát! Vždyť každá z osmi možných položek má do vínku dáno hned čtvero módů: "bar", "text", "graf" a "LED". Jednotlivé položky záhlaví lze libovolně odebírat a přidávat, vpravo či vlevo, podle libosti. Někteří možná uvítají, že lze odebrat úplně všechny a ponechat záhlaví prázdné (pak je též vhodné vypnout okraj, viz příští odstavec).

Konfigurace měřidel

Někteří využijí módu "LED", který působí velmi příjemně a přehledně ve velkých textových rozlišeních a je na obrazovce dobře čitelný i z větší vzdálenosti (viz screenshot). A zmiňované grafy? Zkuste a uvidíte...

/images/clanky/fialka/htop ve vysokém
rozlišení s LED měřiči
Výřez; klikněte pro zobrazení celého screenshotu.

Ale abychom na htop nepěli jen samou chválu, budu na něj chvilku dštít i nějakou tu síru. Některá "měřidla" v záhlaví přímo volají po rozšíření, aby dosahovala dokonalosti programu top či vůbec by potřebovala ještě různě dotáhnout. Neškodilo by také "roztříštit" měřidla na jejich jednotlivé složky, když už tu je ta báječná možnost konfigurace jejich rozložení a vzhledu v záhlaví. Celkově je tak právě záhlaví (nehledě na možnost si s ním tak vyhrát) paradoxně nejslabší stránkou programu htop. Snad je to jen daň za to, že se autor soustředil více na jiné věci, ve kterých htop v zásadě nemá větší konkurence.

Nastavení zobrazování

Druhá položka konfigurace se dotýká některých dalších nastavení. Především lze na systémech, kde jsou vidět i procesy ostatních uživatelů tyto cizí procesy "odstínit" a do budoucna autor slibuje, že půjdou schovat docela. Dále lze schovat ta vlákna, jejichž vlastníkem je jádro, zvýraznit název běžícího programu oproti cestě, zvýraznit "megabajty" ve výpisech paměti, odstranit okraje okolo záhlaví či nastavit zobrazování procesů jako strom.

Konfigurace zobrazení

Nastavení obsahu a rozložení sloupců

Poslední věcí, kterou si nepochybně rádi nastavíme, bude vzhled, respektive obsah, jednotlivých sloupců a jejich rozložení. Lze tak docílit i toho, že se nám bude zobrazovat třeba jen výpis příkazových řádků jednotlivých procesů a nic víc (osobně po tom nijak netoužím, ale důležité je, že to jde). K nastavení slouží zvláštní menu, které se v htop vyvolá stiskem shift-c, klávesou enter pak přesouváme jednotlivé nabízené položky z nebo do seznamu zobrazovaných sloupců.

Nastavení zobrazování sloupců

Závěr

Co dodat? Projekt htop se zdá být velmi nadějným. Podle seznamu věcí, které chce autor ještě dodělat, by mělo přibýt více z funkcionality starého dobrého top. Nadto si htop i nadále zachová všechny nové vlastnosti. Za nejcennější považuji možnost pohybovat se ve výpisu všemi směry, jednoduché měnění priority pomocí kláves plus a mínus, vyhledávání, označování a hromadné zabíjení procesů. Program htop je prostě "top na druhou" a rozhodně doporučuji přinejmenším sledovat jeho další vývoj.

Související články

Seriál: Nebojíme se kompilace
Mutt - jak začít
Editor VIM prakticky
Emacs - jak začít

Odkazy a zdroje

htop

Další články z této rubriky

Týden na ITBiz: Svět IT a burzy, umělá inteligence, Nvidia a outsourcing
Linuxové foto novinky: pozvolná evoluce
PCLinuxOS 2017.2 MATE - tak trochu zvláštní linuxová distribuce
Krátký pohled na Fedoru 25, Wayland a GNOME 3.22
Naprosto ničím nezajímavé Lubuntu 16.10

Diskuse k tomuto článku

Valoun avatar 18.2.2005 01:21 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
Rozbalit Rozbalit vše htop
Odpovědět | Sbalit | Link | Blokovat | Admin
Pouzivam, jej uz dlouho, jen mi trochu vadi, ze kdyz ho spravne neukoncim, ale zavru rovnou cely terminal, htop se neukonci a zacne ujidat 100% procesoru.
18.2.2005 02:25 © | skóre: 37 | blog: escaped
Rozbalit Rozbalit vše Re: htop
A reportoval jsi tu chybu autorovi?
18.2.2005 05:19 xkesh | skóre: 46 | blog: eXtempore
Rozbalit Rozbalit vše Re: htop
htop-0.4.1/xterm-196 (Gentoo, KDE 3.3.2) - nic takovyho se u me nedeje
18.2.2005 10:07 Bongo
Rozbalit Rozbalit vše Re: htop
htop 0.5; bash 2.05b
zkousel jsem ho zabit ruznym zpusobem a nikdy mi htop nezustal viset. Neni to problem nejake starsi verze htop?
18.2.2005 10:14 Jan Stanik
Rozbalit Rozbalit vše Re: htop
Ono to nemusi byt priamo chyba programu, kludne to moze byt niekde v zdielanych knizniciach. Podobny problem sme mali u mc na Gentoo, stacilo dat do /etc/portage:

echo "/app-misc/mc -X -ncurses" >> /etc/portage/package.use

a prekompilovat mc.

MC pouziva tiez ncurses a volba "-ncurses" ho vobec nerozhadzala, funguje dalej. Takze by to teoreticky mohlo fungovat aj pre htop. Ale samo mozem sa mylit. Kludne ma zkritizujte.
Valoun avatar 18.2.2005 15:27 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
Rozbalit Rozbalit vše Re: htop
Debian sarge, aterm 0.4.2, htop 0.5
Valoun avatar 18.2.2005 15:35 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
Rozbalit Rozbalit vše Re: htop
Chyba odeslana do htop.sf.net
Luboš Doležel (Doli) avatar 18.2.2005 16:22 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: htop
Tak tohle se mi jednou stalo i u obyčejného shellu:

1) Spustil jsem Konsole
2) Dal jsem su a zadal heslo
3) Stisknul jsem Alt+F4

a hle ... bash žere 100% CPU!

18.2.2005 16:24 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: htop
Něco podobného se mi stávalo s vi. Teď to nedělá a nemám nejmenší tušení jak to reprodukovat. Ani nevím, co to bylo za virtuální terminál.
Copak toho není dost?
18.2.2005 10:04 Tomáš Janeček | skóre: 12
Rozbalit Rozbalit vše Peknyyy
Odpovědět | Sbalit | Link | Blokovat | Admin
Fakt pekny. Musim pochvalit:) Akorat asi zere smitko vic procesoru nez top
Něco děsně chytrýho a vtipnýho
18.2.2005 14:13 © | skóre: 37 | blog: escaped
Rozbalit Rozbalit vše Re: Peknyyy
O drobeček víc. Ale ani to nepoznáš. :-D
Josef Kufner avatar 18.2.2005 14:20 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Peknyyy
na me stare 386, kde bylo videt jak mc vykresluje menu, by se to asi neztratilo ;-)
Hello world ! Segmentation fault (core dumped)
Josef Kufner avatar 18.2.2005 14:19 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Peknyyy
imho je to naprosto zanedbatelne, mezi ostatnimi vecmi se to ztrati... ale opravdu se mi libi, hlavne to scrollovani a pohodlne vrazdeni, to mi v topu chybelo.
Hello world ! Segmentation fault (core dumped)
18.2.2005 14:30 jm
Rozbalit Rozbalit vše Huraaa
Odpovědět | Sbalit | Link | Blokovat | Admin
Jupiii! Konecne neco pouzitelneho, v cem jdu pouzivat kurzorove klavesy! ;-)
Mikos avatar 18.2.2005 14:34 Mikos | skóre: 34 | blog: Jaderný blog | Praha
Rozbalit Rozbalit vše HTOP je vyborny!
Odpovědět | Sbalit | Link | Blokovat | Admin
Taky uz delsi dobu pouzivam htop, klasicky top sem totiz uz nemohl vystat, tak sem se pouhlidl po necem jinem a htop bylo prvni na co sem v portage narazil... zkusil sem ho a prekvapil me jak je vybornej! Top jiz nikdy vice ;-)
CETERUM CENSEO DRM ESSE DELENDAM Ostatně soudím, že DRM musí být zničeno!
19.2.2005 04:08 © | skóre: 37 | blog: escaped
Rozbalit Rozbalit vše Re: HTOP je vyborny!
htop chce jeste dotahnout par veci, ale je na dobre ceste. :-D
18.2.2005 18:59 VH
Rozbalit Rozbalit vše htop pro debian stable
Odpovědět | Sbalit | Link | Blokovat | Admin
To se mi libi, neporadite nekdo kde bych schrastil htop pro Debian stable? www.backports.org nic... balicek z testing mi nadava:
bedna:~# dpkg -i /opt/htop_0.5-1_i386.deb
Selecting previously deselected package htop.
(Reading database ... 21371 files and directories currently installed.)
Unpacking htop (from /opt/htop_0.5-1_i386.deb) ...
dpkg: dependency problems prevent configuration of htop:
 htop depends on libc6 (>= 2.3.2.ds1-4); however:
  Version of libc6 on system is 2.2.5-11.8.
 htop depends on libncurses5 (>= 5.4-1); however:
  Version of libncurses5 on system is 5.2.20020112a-7.
dpkg: error processing htop (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 htop
18.2.2005 22:52 Peter S.
Rozbalit Rozbalit vše super
Odpovědět | Sbalit | Link | Blokovat | Admin
vďaka za tip
19.2.2005 13:56 Rabu
Rozbalit Rozbalit vše supeer
Odpovědět | Sbalit | Link | Blokovat | Admin
super!!! a navic distr, takze apt-get install htop...

Nema chybu, hlavne vrazdeni prosesu jako getling kanonem ;)
20.2.2005 11:53 Brubac | skóre: 4
Rozbalit Rozbalit vše líbí
Odpovědět | Sbalit | Link | Blokovat | Admin
Hezké, líbí se mi hlavně F7-F8-F9 :)

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.