Příkaz top nabízí rychlý přehled informací o systému. Hlásí data o aktuálních procesech, která se obnovují (ve výchozím nastavení) každé 3 sekundy.
Používání a porozumění programu jako top je základní dovedností pro správu systému. V tomto článku vám vysvětlím, jak se s důvěrou orientovat v horním příkazu.
Porozumění hlavnímu příkazu v Linuxu
top
Top je přímočarý k použití. Tento jednoduchý příkaz vás přenese do nejvyšší aplikace. Když chcete skončit, ukončete zadáním písmene q . Existují také další klíčové příkazy pro jeho plné využití, o kterých budu diskutovat později.
Snadno tak můžete zkontrolovat vytížení procesoru, počet aktuálních úloh a také zobrazit informace o využití paměti. Všimnete si, že při běhu jsou v podstatě 2 sekce s informacemi.
V horní části našeho terminálu získáváme naše přehledová data včetně využití paměti a zatížení procesoru. Pod tím máme tabulku s konkrétními procesy se spoustou podrobností.
Je zde zobrazeno mnoho podrobných informací ve zhuštěném formátu. Rozdělme si to na menší kousky, abychom lépe porozuměli. První čtyři řádky obsahují přehledová data, o kterých jsem se zmínil dříve. Vezměme je řádek po řádku a vysvětleme, co se děje.
Informace o uživateli, doba provozu a průměrné zatížení
top - 11:49:05 up 27 min, 1 user, load average: 1.13, 0.44, 0.28
První informací je časové razítko, které je docela samovysvětlující. Vedle toho uvidíte dobu spuštění systému. V mém případě je to 24 minut. To znamená, jak dlouho počítač běží bez přerušení. Dále vidíme tři hodnoty pro průměr zatížení. Tyto údaje představují hodnoty za 1 minutu, 5 minut a 15 minut v daném pořadí.
Pro naše účely lze hodnoty zatížení chápat jako odhad „zátěže“ na výpočetní výkon vašeho systému. Například zatížení 1,0 by znamenalo, že aktuálně pracuje 100 % vašeho výpočetního výkonu.
Úkoly
Tasks: 210 total, 2 running, 208 sleeping, 0 stopped, 0 zombie
Systémové procesy jsou také známé jako úkoly. Operační systém se spoléhá na řadu procesů běžících na pozadí, které umožňují další činnosti, jako je používání webového prohlížeče.
Procesy lze spouštět mnoha různými způsoby a jsou upřednostňovány pomocí různých algoritmů. To slouží k optimalizaci toho, jak a kdy počítač provádí úkol. Toto je zamýšleno jako přehled na vysoké úrovni, takže to zde zjednodušíme. Chceme, aby naši čtenáři věděli, že výpočetní technika obsahuje více než zde popsané stavy.
To znamená, že se podívejme, co každý z nich znamená:
Stát | Popis |
---|---|
Spuštěno | Aktivní / ve frontě ke zpracování |
Spící | Čekání na dokončení procesu |
Zastaveno | Přerušeno signálem řízení úlohy (například CTRL+C) |
Zombie | Skládá se z „osiřelých“ dětských úkolů / již neběží |
Informace o CPU v horním příkazu
%Cpu(s):100.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
Každá z hodnot zde představuje procento času stráveného na příslušných úkolech. Níže uvedená tabulka vysvětluje, co jednotlivé zkratky znamenají. To poskytuje poměrně podrobný rozpis toho, jak je využíván výpočetní výkon.
Zkratka | Popis |
---|---|
nás | Zpracování provedeno v uživatelském režimu |
sy | Zpracování probíhá v režimu systému/kernelu |
ni | Čas strávený „pěknými“ procesy |
id | Čas strávený nečinností |
wa | Čekání na dokončení I/O procesu |
ahoj | Čas strávený kvůli přerušení hardwaru |
si | Čas strávený kvůli přerušení softwaru |
st | Čas „ukradl“ prostředky virtuálního stroje |
Využití paměti v horním příkazu
MiB Mem : 7974.7 total, 5974.0 free, 1046.9 used, 953.9 buff/cache
MiB Swap: 4095.5 total, 4095.5 free, 0.0 used. 6660.1 avail Mem
Tyto řádky napodobují výstup příkazu free v Linuxu.
Tabulka úkolů
To je skutečně srdce nejvyššího velení. Pokud jste přišli z Windows, pravděpodobně jste obeznámeni s používáním CTRL+ALT+DEL pro přístup do Správce úloh. Toto je jakási „oříznutá“ verze toho. Zobrazí se tabulka všech aktuálně spuštěných úloh.
Zde je ukázka některých úkolů zobrazených nahoře.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1703 christo+ 20 0 2338396 342200 114744 S 7.9 4.2 0:25.05 gnome-shell
1285 root 20 0 237252 72360 46012 S 4.3 0.9 0:04.00 Xorg
2158 christo+ 20 0 496976 42952 32192 S 4.0 0.5 0:01.74 gnome-terminal-
2703 christo+ 20 0 21528 3880 3204 R 0.7 0.0 0:00.40 top
Zde je tabulka, která vám pomůže pochopit zkratky záhlaví sloupců.
Zkratka | Popis |
---|---|
PID | ID procesu (Unique Positive Integer) |
UŽIVATEL | Uživatelské jméno |
PR | Priorita (jádro) |
NI | Skvělá hodnota |
VIRT | Virtuální paměť |
RES | Rezidentní velikost (fyzická paměť) |
SHR | Sdílená paměť |
S | Stav procesu (Spuštěno, Zastaveno atd.) |
%CPU | Zatížení CPU |
%MEM | Procento RES / celková RAM |
TIME + | Celkový čas strávený procesem |
PŘÍKAZ | Příkaz, který zahájil proces |
Toto jsou výchozí pole v mé distribuci. Váš systém se může mírně lišit. Ty lze přizpůsobit zadáním F
zatímco top běží. Zobrazí se úplný seznam dostupných možností
Přizpůsobení a interakce s výstupem horního příkazu
Jakmile budete mít displej nastavený tak, jak se vám líbí. Je čas udělat nějakou práci. Pojďme se podívat na úplný seznam možností pro top (přístupné zadáním h) a podívejte se na některé příklady.
1. Měřítko barev a paměti
Z,B,E,e Global: 'Z' colors; 'B' bold; 'E'/'e' summary/task memory scale
Pokryli jsme změny barev, ale můžete také upravit měřítko paměti od bajtů až po petabajty. E
upravuje čísla ze souhrnné části, zatímco e
upraví měřítko v tabulce úloh.
2. Přepnout zobrazení pro souhrnné informace
l,t,m Toggle Summary: 'l' load avg; 't' task/cpu stats; 'm' memory info
Každá příslušná klávesa upraví možnosti zobrazení. Výchozí nastavení je textový výstup, ale existují také simulované pruhy nebo můžete položky zcela vypnout.
3. Zobrazit informace specifické pro CPU
0,1,2,3,I Toggle: '0' zeros; '1/2/3' cpus or numa node views; 'I' Irix mode
Na svém virtuálním počítači mám pouze jeden CPU, ale můžete vidět, jak by to fungovalo, kdyby jich bylo více. Můžete se rozdělit do jednotlivých uzlů s jejich vlastními statistikami.
4 manipulace s horním polem
f,F,X Fields: 'f'/'F' add/remove/order/sort; 'X' increase fixed-width
Můžeme přidat nebo odebrat jakákoli pole, která chceme zobrazit, můžeme také upravit pevnou šířku textu.
Podobně můžete také třídit výstup horních příkazů.
5. Vyhledejte řetězec
L,&,<,> . Locate: 'L'/'&' find/again; Move sort column: '<'/'>' left/right
6. Uspořádejte svůj pohled
R,H,V,J . Toggle: 'R' Sort; 'H' Threads; 'V' Forest view; 'J' Num justify
Tyto příkazy vám poskytují možnosti pro uspořádání informací o úkolu. Seřadit zobrazí všechny úkoly podle PID, nikoli podle výchozí funkce řazení podle aktivity. Vlákna změní váš podrobný a souhrnný pohled na orientovaný na vlákna místo na úkoly. Forest view uspořádává procesy do „stromové“ struktury, aby demonstroval vztahy mezi rodiči a dětmi. Číselné zarovnání změní výchozí polohu číselných polí zarovnaných doleva.
7. Přepínejte úplnou cestu, nečinné úlohy, kumulativní čas a zarovnání textu
c,i,S,j . Toggle: 'c' Cmd name/line; 'i' Idle; 'S' Time; 'j' Str justify
Když přepnete c
, uvidíte celou cestu příkazů. Nečinný odebere z displeje všechny neaktivní úlohy. S
používá kumulativní čas. Zarovnání řetězců změní výchozí polohu polí řetězců zarovnaných doleva.
8. Přepnout výběr
x,y . Toggle highlights: 'x' sort field; 'y' running tasks
Pomocí x přepínáte třídicí pole a y třídíte běžící úlohy.
9. Filtrujte podle uživatele nebo pole/hodnoty
u,U,o,O . Filter by: 'u'/'U' effective/any user; 'o'/'O' other criteria
Můžeme jednoduše odfiltrovat konkrétní uživatele nebo pole/hodnoty. To je skvělé pro systém s mnoha uživateli nebo mnoha otevřenými úkoly. Filtry vyžadují operátor porovnání mezi polem a hodnotou. Jak můžete vidět zde, napsal jsem COMMAND=top
pro filtrování všech příkazů kromě top. Použití shift s kterýmkoli příkazem přepíná rozlišování malých a velkých písmen.
10. Filtrovat počet procesů
n,#,^O . Set: 'n'/'#' max tasks displayed; Show: Ctrl+'O' other filter(s)
Pomocí n or #
vám dá možnost zadat číselnou hodnotu. Zobrazí se pouze požadovaný počet procesů.
11. Renice or Kill Process s PID v horním příkazu
k,r Manipulate tasks: 'k' kill; 'r' renice
Pomocí těchto příkazů můžeme změnit hodnotu nice nebo proces ukončit. Odfiltroval jsem konkrétní PID, aby bylo lépe vidět. Změnil jsem hezkou hodnotu na 20. Pak jsem poslal příkaz kill. Použití kill ve výchozím nastavení vysílá signál SIGTERM. To mu umožňuje dokončit provádění kódu před ukončením.
12. Změňte výchozí čas aktualizace v příkazu top
d or s Set update interval
Zde jsem změnil výchozí čas aktualizace z každých 3,0 sekund na každou 1 sekundu. Kdykoli si můžete upravit čas, který vyhovuje vašim potřebám. Je možné použít d
nebo s
k provedení stejné operace.
Závěr
Líbil se vám náš průvodce nahoru? Doufám, že vás tyto tipy naučily něco nového o práci s top. Pokud se vám tato příručka líbí, sdílejte ji na sociálních sítích.
Pokud máte nějaké připomínky nebo dotazy, zanechte je níže. Pokud máte nějaké návrhy na témata, která byste rádi viděli, klidně je také zanechte. Děkuji za přečtení.