TOP(1)

NAME
top - Sledování procesu na CPU

SYNOPSIS
top [-] [d delay] [p pid] [q] [c] [C] [S] [s] [i] [n iter] [b]

POPIS
top poskytuje pohled na zatížení procesoru v reálném čase. Zobrazuje výčet úloh, které nejvíce zatěžují procesor a může poskytnout interaktivní rozhraní pro manipulaci s nimi. Může úlohy třídit podle využití procesoru, paměti nebo délky běhu úlohy. top může být nastavován lépe než standardní top z balíčku procps. Většina vlastností může být vybrána interaktivním příkazem nebo specifikováním vlastnosti v osobním nebo globálním konfiguračním souboru. Dále se dozvíte více.

VOLBY NA PŘÍKAZOVÉ ŘÁDCE
Určuje dobu mezi obnovením obrazovky. To můžete změnit pomocí s interaktivního příkazu. sledovat jen procesy se zadaným id. Tato značka může být použita až dvacetkrát. Tato volba je není dostupná interaktivně ani nemůže být vložena do konfiguračního souboru. V tomto případě top bude obnovovat bez prodlevy. Pokud má spouštějící superuživatelská práva, top poběží s maximální možnou prioritou. Určuje sčítací mód, kde každá úloha je vypisována s procesorovým časem který strávila včetně svých mrtvých potomků. Je to jako -S volba v ps(1). Podívejte se níže na interaktivní příkaz S. Spustí top v bezpečnostním režimu. Tím vypnete potenciálně nebezpečné interaktivní příkazy (viz níže). Zabezpečený top je ideální k ponechání běhu na obyčejném terminálu. Spustí top s ignorováním nečinných a mrtvých úloh. Podívejte se na interaktivní příkaz i uvedený níže. zobrazí celkové zatížení CPU navíc k jednotlivým CPU. Tato volba připadá v úvahu na SMP systémech. zobrazí příkazovou řádku místo pouze příkazového jména. Výchozí chování bylo změno protože se jeví užitečnější. Počet zobrazení. Zobrazí se tolikrát kolik určuje číslo a pak se zavře. Dávkový mód. Užitečné pro posílání výstupu top do jiných programů nebo souboru. V tomto módu, top nebude akceptován vstup z příkazové řádky. Poběží dokud neproběhne počet zobrazení deklarovaný parametrem n nebo není zabit. Výstup je obyčejný text použitelný pro omezený terminál.

POPIS POLÍ
top zobrazuje mnoho informací o stavu procesoru. Obrazovka je implicitně obnovována každých 5 vteřin, což lze změnit pomocí parametru d na příkazové řádce nebo interaktivním příkazem s. Tato řádka ukazuje čas, který systém běží a tři průměrná zatížení systému. Průměrná zatížení je průměrný počet běžících úloh během posledních 1, 5 a 15 minut. Tato řádka je vlastně výstup programu uptime(1). Uptime může být přepínán interaktivním l příkazem. Celkový počet úloh běžících v čase poslední aktualizace. Je dále rozdělena na počty úloh běžících, spících, zastavených nebo zombie. Úlohy a stavy zobrazované mohou být přepínány t interaktivním příkazem. Ukazuje procenta procesorového času v uživatelském režimu, systémovém režimu, nice úlohy na pozadí (niced task) a nečinné úlohy (nice úlohy jsou jen ty které mají hodnotu nice zápornou). Čas strávený v úlohách na pozadí je započítáván i do uživatelského nebo systémového času, takže součet bude vyšší než 100%. Úlohy a zobrazované stavy mohou být přepínány interaktivním příkazem t. Statistika použití paměti, celková paměť, volná paměť, použitá paměť, sdílená paměť, a paměť použitá pro fronty. Obrazovka informací o paměti může být přepínána m interaktivním příkazem. Statistika odkládacího místa, celkový odkládací prostor, volné odkládací místo, a použité odkládací místo. Toto a Mem jsou vlastně výstupy programu free(1). ID procesu u každé úlohy. ID rodičovského procesu u každé úlohy. Uživatelské ID u vlastníka úlohy. Uživatelské jméno vlastníka úlohy. Priorita úlohy. Nice je hodnota úlohy. Záporné hodnoty nice jsou vyšší priority. Velikost kódu úlohy, dat a zásobníku v kilobytech. Velikost kódu úlohy. Dává podivné hodnoty pro procesy jádra a ELF procesy. Velikost data + zásobníky. Dává špatné hodnoty o ELF procesech. Text resident size. Velikost části úlohy odložená v odkládacím prostoru. Velikost stránek paměti označených jako špinavé. Naposledy použitý procesor (Ten se čas od času mění a není to chyba; Linux úmyslně používá nízkou přesnost. Také si uvědomte, že samotný fakt, že spouštíte top sníží přesnost údajů a může způsobit, že procesy budou častěji měnit CPU, kvůli zvýšeným požadavkům na čas CPU). Celkové množství fyzické paměti použité úlohou v kilobytech. Pro ELF procesy jsou zde započítány použité stránky knihoven, pro a.out procesy ne. Množství sdílené paměti použité úlohou. Stav úlohy. Stav je buď S pro spící, D nepřerušitelně spící, R pro běžící, Z pro zombie, nebo T pro stopnuté nebo trasované. Tyto stavy jsou modifikovány uvozujícím znakem < pro procesy s negativní hodnotou nice, N pro procesy s positivní hodnotou nice, W pro procesy odložené (nefunguje správně pro procesy jádra). Záleží na dostupnosti /boot/psdatabase nebo mapy jádra /boot/System.map. Ukazuje adresu nebo jméno funkce jádra ve které úloha spí. Celkový čas procesoru spotřebovaný úlohou od jejího startu. Pokud je nastaven sčítací mód, je to včetně potomků, kteří zemřeli. Můžete nastavit sčítací mód S pomocí příkazové řádky nebo přepnutím interaktivním příkazem S. Záhlaví bude změněno na CTIME. Podíl úlohy na procesorovém času od poslední obnovy obrazovky, vyjádřeno jako procenta z celkového procesorového času na každý procesor. Podíl na využití fyzické paměti v procentech. Příkazové jméno úlohy, které bude ustřihnuto pokud se nevejde na zobrazovaný řádek. Úlohy v paměti mají plné příkazové jméno, ale odložené úlohy mají pouze jméno programu v závorkách (například "[getty]"). tyto políčka z kmem top nejsou podporována.

INTERAKTIVNÍ PŘÍKAZY
Za běhu programu top lze použít několika funkčních kláves. Některé jsou nefunkční pokud byla při spuštění použita volba -s. Okamžité obnovení obrazovky. Vymaže a znovu vykreslí obrazovku. Zobrazí nápovědu s výčtem příkazů, stavem zabezpečení a sčítacích módů. Posílání signálů procesům. Budete dotázáni na PID úlohy a signál, který ji má být poslán. Pro ukončení úlohy pošlete signál 15 (SIGTERM), nejsilnější je signál 9 (SIGKILL). Implicitní je stejně jako pro příkaz kill(1), signál 15 (SIGTERM). Tento příkaz není k dispozici v zabezpečeném režimu. Přepínání zobrazení všech nebo jen běžících procesů. Přepínání mezi Solaris (CPU procenta rozdělená celkovým počtem procesorů) a Irix (CPU procenta počítaná jen množstvím času) pohledy. Tento přepínač funguje pouze na SMP systémech. Počet procesů k zobrazení. Vložená hodnota určuje maximální počet zobrazených procesů na obrazovce, který je závislý také na velikosti okna. Pokud vložíte hodnotu nula (0), top ukáže tolik procesů, kolik se jich vejde na obrazovku (výchozí nastavení). Ukončení programu top. Změna hodnoty nice. Budete dotázáni na PID úlohy a novou hodnotu. Vložení kladného čísla způsobí, že proces dostane zápornou hodnotu a ztratí prioritu. Pokud je program top spuštěn uživatelem root, mohou být vložena i záporná čísla, která slouží ke zvýšení priority. Implicitní hodnota je 10. Tento příkaz není dostupný v bezpečnostním režimu. Přepíná sčítací módy, je to ekvivalent příkazu ps -S, který způsobí, že čas CPU bude včetně nefunkčních potomků procesu. Pro některé programy (jako jsou kompilátory, které pracují rozdělením do mnoha oddělených úloh) normální mód ukáže, že jsou méně náročné než doopravdy jsou. Pro ostatní programy (například shelly nebo init, je implicitní chování správné. Zkuste sčítací mód pro alternativní pohled na využití CPU. Změna prodlevy mezi obnovením výpisu procesů (ve vteřinách). Zlomkové hodnoty budou zaokrouhleny dolů na mikrosekundy. Hodnota 0 znamená neustálé obnovování. Výchozí hodnota je 5 sekund. Mějte na paměti, že nízké hodnoty způsobí nečitelnost údajů a způsobí velké zatížení počítače. Tento příkaz není dostupný v bezpečnostním režimu. Přidání polí nebo odebrání polí z obrazovky (viz dále). Změní pořadí zobrazovaných polí (viz dále). Zobrazí nebo skryje informace o průměrném zatížení a délce běhu systému. Zobrazí nebo skryje informace o paměti. Zobrazí nebo skryje informace o procesech a stavu procesoru. Zobrazí nebo skryje celý příkazovém řádek. Seřadí úlohy podle čísla PID. Seřadí úlohy podle stáří (nejmladší napřed). Seřadí úlohy podle zatěžování procesoru (default). Seřadí úlohy podle velikosti obsazené paměti. Seřadí úlohy podle času / sčítaného času. Zapíše aktuální nastavení do ~/.toprc. Toto je doporučený způsob ukládání konfiguračního souboru.

POLE A POŘADÍ OBRAZOVKY
Po zmáčknutí f, F, o nebo O uvidíte obrazovku ukazující pořadí políček na první řádce a krátký popis obsahu pole. Pořadí polí v řetězci používá následující syntaxi: když je písmeno v poli řetězců korespondující k polem velké, pole bude zobrazeno. To je navíc indikován hvězdičkou v popředí popisu pole. Pořadí polí souhlasí s pořadím písmen v řetězci. Z obrazovky výběru polí můžete změnit zobrazení polí stiskem příslušného tlačítka. Z další obrazovky můžete přesunout pole doleva stiskem příslušného velkého písmena resp. doprava stiskem malého písmena.

Konfigurační soubory
Top čte svou výchozí konfiguraci ze dvou souborů, /etc/toprc a ~/.toprc. Globální konfigurační soubor může být použit k omezení použití bezpečnostního režimu neprivilegovaným uživatelům. Pokud je potřeba, soubor může obsahovat 's' ke specifikování bezpečnostního režimu a číslo d (2<=d<=9) pro výchozí prodlevu v sekundách na jednom řádku. Osobní konfigurační soubor obsahuje dvě řádky. První řádek pojímá malá a velká písmena ke specifikování polí a v jakém pořadí budou zobrazena. Tato písmena odpovídají písmenům pro výběr polí a výběr pořadí, která se používají v top. Protože to není příliš názorné, je doporučeno vybrat pole a pořadí v běžícím top procesech a uložit stav pomocí interaktivního příkazu W. Druhý řádek je mnohem zajímavější (a důležitější). Obsahuje další nastavení. Pokud jste uložili konfiguraci v bezpečnostním režimu, je nutné odstranit písmeno malé 's' z druhého řádku souboru ~/.toprc, jinak se bezpečnostní režim vždy znovu zapne. Čísla určují prodlevu mezi obnoveními, velké 'S' sčítací mód, malé 'i' pouze aktivní procesy, velké 'I' Irix pohled. Jako v interaktivnímu režimu, malé 'm', 'l', a 't' potlačí výpis paměti, délky běhu systému resp. procesů a stavech procesoru. Změna třídícího pořadí (podle zatížení CPU) není v současnosti podporována.

POZNÁMKY
Příkaz top získává informace o procesech ze systému souborů proc, pomocí kterého jádro zveřejňuje důležité informace. Tento systém souborů musí být připojen do adresáře /proc, jinak příkaz top nebude pracovat.

%CPU ukazuje cpu čas/skutečný čas v procentech v periodě času mezi obnoveními. Pro první aktualizaci je použita krátká prodleva a sám top obsadí celý procesor. Při dalších aktualizacích již bude top ukazovat mnohem přesnější odhady využití CPU.

SIZE a RSS pole nepočítá stránky tabulek a task_struct procesu, což je nejméně 12K paměti která je vždy rezidentní. SIZE je virtuální velikost procesu (kód+data+zásobník).

Pamatujte, že proces musí skončit, aby jeho čas byl ve sčítacím módu připočten rodiči. Přesnější údaje by se daly získat následování každého procesu směrem nahoru a sčítáním časů, ale bylo by to náročnější a možná i neproveditelné. V každém případě by to byla nekompatibilita s příkazu top s příkazem ps.

SOUBORY
/etc/toprc
 - globální konfigurační soubor. ~/.toprc
 - uživatelský konfigurační soubor.

VIZ TAKÉ
ps(1), free(1), uptime(1), kill(1), renice(1).

CHYBY
Pokud je okno menší než 70x7, nebude příkaz top zobrazovat informace správně. Mnoho polí má stále problémy s ELF procesy. Obrazovka nápovědy není optimalizována pro okna s méně než 25 řádky.

AUTOR
top byl původně napsán Rogerem Binnsem, založeném na Brankově Lankesterově <lankeste@fwi.uva.nl> programu ps. Robert Nation <nation@rocket.sanders.lockheed.com> přepsal top tak, aby používal souborový systém proc. Vycházel z proc-based ps programu Michaela K. Johnsona <johnsonm@redhat.com>. Michael Shields <mjshield@nyx.cs.du.edu> udělal mnoho změn, včetně zabezpečení a sčítacích módů a vyčistil kód. Tim Janik <timj@gtk.org> přidal seřazování podle stáří procesů a schopnost sledovat určité procesy před id. Helmut Geyer <Helmut.Geyer@iwr.uni-heidelberg.de> provedl mnoho změn včetně podpory pro konfigurovatelná pole a další nové volby. Dále vyčistil kód a použil nový readproc interface. Volby "b" a "n" pocházejí od George Bonsera <george@captech.com> pro CapTech IT služby. Současným maintainerem je Michael K. Johnson <johnsonm@redhat.com>. Chyby hlaste na adresu <procps-bugs@redhat.com>.

PŘEKLAD
Tomáš Řezáč <tomas.rezac@pslib.cz>, alespoň trochu do české češtiny upravil Milan Keršláger <kerslage@linux.cz>.