GNU/Linux >> Znalost Linux >  >> Linux

Tipy pro použití příkazu top v Linuxu

Pokusit se zjistit, co na vašem počítači běží – a který proces zabírá veškerou vaši paměť a dělá věci slllooowwww – je úkol, který dobře poslouží nástroj top .

top je mimořádně užitečný program, který funguje podobně jako Správce úloh systému Windows nebo Monitor aktivity systému MacOS. Spuštění top na vašem stroji *nix vám ukáže živý, běžící pohled na proces běžící ve vašem systému.

$ top 

V závislosti na verzi top když běžíte, dostanete něco, co vypadá takto:

nahoře - 08:31:32 nahoru 1 den,  4:09, 0 uživatelů,  průměrné zatížení:0,20, 0,12, 0,10
Úkoly:  3 celkem,   1 běžící,   2 spící,   0 zastaveno,   0 zombie
%Cpu(s):0,5 us, 0,3 sy, 0,0 ni, 99,2 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
KiB Mem:  4042284, 6 7 volná vyrovnávací paměť, celkem 0 41 25 5
KiB Swap: 1048572 celkem,        0 využito,  1048572 zdarma. 1804264 MEMPED MEM

PID UŽIVATELSKÁ PR NE NE NI VIR RNE SHR S% CPU% MEM TIME + COMBAND
1 Root 20 0 21964 3632 3124 S 0.0 0,1 0:00.23 Bash
193 Root 20 0  123520  29636   8640 S   0,0  0,7   0:00,58 baňka
  195 kořen      20   0   23608   2724   2400 R 2400, 2 0 0. 

Vaše verze top může vypadat jinak, zejména ve zobrazených sloupcích.

Jak číst výstup

Na základě výstupu poznáte, co spouštíte, ale pokus o interpretaci výsledků může být mírně matoucí.

Prvních pár řádků obsahuje hromadu statistik (podrobnosti), za nimiž následuje tabulka se seznamem výsledků (seznam). Začněme tím druhým.

Seznam

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Toto jsou procesy které běží v systému. Ve výchozím nastavení jsou seřazeny podle využití CPU v sestupném pořadí. To znamená, že položky v horní části seznamu využívají více prostředků CPU a způsobují větší zatížení vašeho systému. Jsou to doslova „top“ procesy podle využití zdrojů. Musíte uznat, že je to chytré jméno.

COMMAND sloupec zcela vpravo hlásí název procesu (příkaz, který jste spustili pro jejich spuštění). V tomto příkladu jsou to bash (překladač příkazů, který používáme top in), flask (webový mikrorámec napsaný v Pythonu) a top sám.

Ostatní sloupce poskytují užitečné informace o procesech:

  • PID :ID procesu , jedinečný identifikátor pro adresování procesů
  • USER :uživatel spouštějící proces
  • PR :priorita úkolu
  • NI :hezčí znázornění priority
  • VIRT :velikost virtuální paměti v KiB (kibibajtech)*
  • RES :velikost rezidentní paměti v KiB* („fyzická paměť“ a podmnožina VIRT)
  • SHR :velikost sdílené paměti v KiB* ("sdílená paměť" a podmnožina VIRT)
  • S :stav procesu, obvykle I =nečinný, R =běh, S =spánek, Z =zombie, T nebo t =zastaveno (existují i ​​jiné, méně obvyklé možnosti)
  • %CPU :Procento využití procesoru od poslední aktualizace obrazovky
  • %MEM :procento RES využití paměti od poslední aktualizace obrazovky
  • TIME+ :celkový čas CPU použitý od spuštění procesu
  • COMMAND :příkaz, jak je popsáno výše

*Vědět přesně, co je VIRT , RES a SHR hodnoty představují ve skutečnosti záležitost v každodenním provozu. Důležité je vědět, že proces s nejvíce VIRT je proces využívající nejvíce paměti. Pokud jste v top protože ladíte, proč se váš počítač cítí jako v kaluži melasy, proces s největším VIRT číslo je viníkem. Pokud se chcete dozvědět, co přesně znamená „sdílená“ a „fyzická“ paměť, podívejte se na „Typy paměti Linux“ v hlavní příručce.

A ano, chtěl jsem napsat kibi bajtů, nikoli kilo bajtů. Hodnota 1 024, kterou běžně nazýváte kilobajtem, je ve skutečnosti kibibajt. Řecké kilo ("χίλιοι") znamená tisíc a znamená 1000 něčeho (např. kilometr je tisíc metrů, kilogram je tisíc gramů). Kibi je zkilový portmanteau a bajt a to znamená 1 024 bajtů (nebo 2). Ale protože se slova těžko vyslovují, mnoho lidí říká kilobajt když znamenají 1 024 bajtů. To vše znamená top se zde snaží použít správné termíny, tak s tím prostě běžte. #themore youknow ?.

Poznámka k aktualizacím obrazovky:

Aktualizace živé obrazovky jsou objektivně skutečně skvělé Linuxové programy umí. To znamená, že mohou aktualizovat svůj vlastní displej v reálném čase, takže vypadají jako animované. I když používají text. Tak hustý! V našem případě je čas mezi aktualizacemi důležitý, protože některé naše statistiky (%CPU a %MEM ) jsou založeny na hodnotě od poslední aktualizace obrazovky.

A protože běžíme v trvalé aplikaci, můžeme stisknutím klávesových příkazů provádět živé změny nastavení nebo konfigurací (místo, řekněme, zavření aplikace a opětovné spuštění aplikace s jiným příznakem příkazového řádku).

Zadáním h vyvolá obrazovku "nápověda", která také zobrazuje výchozí zpoždění (čas mezi aktualizacemi obrazovky). Ve výchozím nastavení je tato hodnota (asi) tři sekundy, ale můžete ji změnit zadáním d (pravděpodobně pro "zpoždění") nebo s (pravděpodobně pro „obrazovka“ nebo „sekundy“).

Podrobnosti

Nad seznamem procesů je celá řada dalších užitečných informací. Některé z těchto podrobností mohou vypadat zvláštně a matoucí, ale jakmile si uděláte čas na prozkoumání každého z nich, uvidíte, že jsou to velmi užitečné statistiky, které můžete v krátké době získat.

První řádek obsahuje obecné systémové informace

  • top :používáme top ! Ahoj top !
  • XX:YY:XX :čas, který se aktualizuje při každé aktualizaci obrazovky
  • up (poté X day, YY:ZZ ):doba provozu systému nebo kolik času uplynulo od zapnutí systému
  • load average (pak tři čísla):zatížení systému za poslední jednu, pět a 15 minut

Druhý řádek (Tasks ) zobrazuje informace o běžících úlohách a je to docela samovysvětlující. Zobrazuje celkový počet procesů a počet běžících, spících, zastavených a zombie procesů. Toto je doslova součet S (stát ) popsaný výše.

Třetí řádek (%Cpu(s) ) zobrazuje využití CPU oddělené podle typů. Data jsou hodnoty mezi aktualizacemi obrazovky. Hodnoty jsou:

  • us :uživatelské procesy
  • sy :systémové procesy
  • ni :pěkné uživatelské procesy
  • id :doba nečinnosti CPU; vysoká doba nečinnosti znamená, že jinak se toho moc neděje
  • wa :doba čekání nebo doba strávená čekáním na dokončení I/O
  • hi :čas strávený čekáním na hardwarová přerušení
  • si :čas strávený čekáním na softwarová přerušení
  • st :"čas ukradený z tohoto virtuálního počítače hypervizorem"

Tasks můžete sbalit a %Cpu(s) řádků zadáním t (pro "přepnout").

Čtvrtý (KiB Mem ) a pátý řádek (KiB Swap ) poskytují informace pro paměť a swap. Tyto hodnoty jsou:

  • total
  • used
  • free

Ale také:

  • paměťové buffers
  • vyměňte cached Mem

Ve výchozím nastavení jsou uvedeny v KiB, ale stisknutím E (pro "rozšíření škálování paměti") cyklicky prochází různými hodnotami:kibibajty, mebibajty, gibibajty, tebibajty, pebibajty a exbibajty. (To znamená kilobajty, megabajty, gigabajty, terabajty, petabajty a exabajty, ale jejich "skutečné názvy.")

top uživatelská příručka zobrazuje ještě více informací o užitečných příznacích a konfiguracích. Chcete-li najít příručku na vašem systému, můžete spustit man top . Existují různé webové stránky, které zobrazují HTML verzi příručky, ale mějte na paměti, že mohou být pro jinou verzi top .

Dvě nejlepší alternativy

Nemusíte vždy používat top pochopit, co se děje. V závislosti na vašich okolnostech vám mohou pomoci diagnostikovat problémy i další nástroje, zvláště pokud chcete grafickější nebo specializovanější rozhraní.

htop

htop je hodně podobný top , ale přináší na stůl něco extrémně užitečného:grafické znázornění využití CPU a paměti.

Takto jsme zkoumali prostředí v top vypadá v htop . Displej je mnohem jednodušší, ale stále bohatý na funkce.

Naše počty úkolů, zatížení, doba provozuschopnosti a seznam procesů jsou stále k dispozici, ale získáváme šikovný, barevný, animovaný pohled na využití CPU na jádro a graf využití paměti.

Zde je vysvětleno, co znamenají různé barvy (tuto informaci můžete získat také stisknutím h pro "pomoc").

Priority nebo typy úloh CPU:

  • modrá:nízká priorita
  • zelená:normální priorita
  • červená:úlohy jádra
  • modrá:virtualizované úlohy
  • hodnota na konci sloupce je procento využití CPU

Paměť:

  • zelená:použitá paměť
  • modrá:vyrovnávací paměť
  • žlutá:mezipaměť
  • hodnoty na konci pruhu ukazují použitou a celkovou paměť

Pokud pro vás barvy nejsou užitečné, můžete spustit htop -C zakázat je; místo toho htop bude používat různé symboly k oddělení typů CPU a paměti.

Ve spodní části je užitečné zobrazení aktivních funkčních kláves, které můžete použít k provádění věcí, jako je filtrování výsledků nebo změna pořadí řazení. Vyzkoušejte některé z příkazů, abyste viděli, co dělají. Při zkoušení F9 buďte opatrní . Tím se zobrazí seznam signálů, které zabijí (tj. zastaví) proces. Navrhoval bych prozkoumat tyto možnosti mimo produkční prostředí.

Autor htop , Hisham Muhammad (a ano, říká se tomu htop po Hishamovi) přednesl bleskovou přednášku o htop na FOSDEM 2018 v únoru. Vysvětlil, jak htop má nejen úhlednou grafiku, ale také poskytuje modernější statistické informace o procesech, než starší monitorovací nástroje (jako top ) ne.

Můžete si přečíst více o htop na stránce manuálu nebo na webu htop. (Upozornění:webová stránka obsahuje animované pozadí htop .)

statistiky dockeru

Pokud pracujete s Dockerem, můžete spustit docker stats k vytvoření kontextově bohaté reprezentace toho, co vaše kontejnery dělají.

To může být užitečnější než top protože místo oddělování podle procesů oddělujete podle kontejneru. To je zvláště užitečné, když je kontejner pomalý, protože zjistit, který kontejner využívá nejvíce zdrojů, je rychlejší než spuštění top a pokusit se namapovat proces na kontejner.

Výše uvedená vysvětlení zkratek a deskriptorů v top a htop by mělo usnadnit pochopení těch v docker stats . Dokumentace statistik dockeru však poskytuje užitečné popisy každého sloupce.


Linux
  1. 8 tipů pro příkazový řádek Linuxu

  2. Mých 10 nejlepších terminálových zkratek pro Linux

  3. Zkrocení příkazu tar:Tipy pro správu záloh v Linuxu

  1. Linuxové tipy pro používání cronu k plánování úloh

  2. 7 praktických triků pro použití příkazu wget pro Linux

  3. Průvodce linuxovým terminálem pro začátečníky

  1. Použití síly na příkazovém řádku Linuxu

  2. Tipy pro výpis souborů s ls na příkazovém řádku Linuxu

  3. 3 správci hesel pro příkazový řádek Linuxu