Úvod
vmstat
command (zkratka pro statistiku virtuální paměti) je vestavěný monitorovací nástroj v Linuxu. Příkaz se používá k získání informací o paměti, systémových procesech, stránkování, přerušeních, blokových I/O, disku a plánování CPU. Uživatelé mohou sledovat aktivitu systému prakticky v reálném čase zadáním periody vzorkování.
Tento příkaz vám pomůže identifikovat úzká místa výkonu a diagnostikovat problémy ve vašem systému.
V tomto tutoriálu se naučíte používat příkaz vmstat v systému Linux.
Předpoklady
- Počítač se systémem Linux
- Účet s právy sudo/root
Syntaxe příkazu Linux vmstat
Základní vmstat
syntaxe je:
vmstat [options][delay [count]]
- Možnosti – různé přepínače pro přizpůsobení výstupu.
- Zpoždění – definuje uplynulý čas mezi aktualizacemi výstupu.
- Počet – počet aktualizací výstupu po zadaném intervalu zpoždění. Pokud počet není nastaven, výchozí hodnota je nekonečno .
Seznam dostupných možností:
Možnost: | Popis: |
-a | Zobrazuje aktivní a neaktivní paměť. |
-f | Zobrazuje počet vidlic od spuštění. |
-m | Zobrazí statistiky slabin. |
-n | Zobrazuje záhlaví pouze jednou, nikoli pravidelně. |
-s | Zobrazuje tabulku různých čítačů událostí a statistik paměti. |
-d | Zobrazuje statistiky disku. |
-D | Podrobná zpráva o aktivitě disku. |
-p | Podrobná statistika oddílu. |
-t | Přidá do přehledu časové razítko. |
-S [unit] | Přepne výstupní jednotky. |
-V | Zobrazuje informace o verzi. |
-h | Zobrazí nápovědu. |
man vmstat | Zobrazí uživatelskou příručku v terminálu. |
Jak používat vmstat
vmstat příkaz je součástí sysstat, nástroje pro monitorování systému, které generují statistiky a zprávy CPU a zařízení. Balíček sysstat je na Linuxu k dispozici ve výchozím nastavení.
1. Pokud nemáte vmstat na vašem počítači jej nainstalujte spuštěním:
Pro systémy CentOS a RHEL:
sudo yum install sysstat
Pro systémy Fedora 22+:
sudo dnf install sysstat
Pro systémy založené na Ubuntu a Debianu:
sudo apt-get install sysstat
Pro Arch Linux:
sudo pacman -S sysstat
2. Zadejte své heslo a počkejte na dokončení instalace.
3. Spusťte vmstat bez parametrů pro zobrazení systémové zprávy s průměrnými statistikami od posledního spuštění.
4. Pro další zprávy použijte možnosti vmstat , zpoždění, a počítat .
Základní výstup vmstat
Základní výstup vmstat
zobrazí systémové informace v šesti sekcích.
1. Proces – Statistika procesů
- r – Aktivní proces počítat.
- b – Spánek proces počítat.
2. paměť – Statistika paměti
- swpd – Celková virtuální paměť . Odkládací prostor je zpočátku neobsazený. Když však fyzická paměť systému dosáhne svého limitu, začne jádro používat odkládací prostor.
- zdarma – Celkem zdarma paměť .
- buff – Celková paměť dočasně používán jako vyrovnávací paměť dat .
- mezipaměť – Celková mezipaměť .
3. vyměnit – Statistika výměnného prostoru
- si – sazba swap-in paměti z disku.
- takže – sazba zvýměny paměti na disk.
4. io – Statistika vstupu/výstupu
- bi – Bloky přijaté z blokového zařízení za sekundu.
- bo – Blokuje odeslané na blokové zařízení za sekundu.
5. systém – Plánování statistik
- v – Počet systémových přerušení .
- cs – Počet kontextových přepínačů za sekundu.
6. Cpu – Statistika CPU
- nás – Procento CPU čas strávený jinými procesy .
- sy – Procento CPU čas strávený procesy jádra .
- id – Procentonečinného CPU.
- wa – Procento CPU čas strávený čekáním na Input/Output .
- st – Procento CPU čas ukraden pomocí virtuálního stroje.
Zobrazení aktivní a neaktivní systémové paměti
Aktivní paměť je paměť používaná procesem. Neaktivní paměť je paměť, která byla přidělena procesu, který již neběží.
Pomocí -a
možnost nahrazuje buff a mezipaměť paměťové sloupce s neaktivní a aktivní sloupců. Tyto sloupce zobrazují množství neaktivní a aktivní paměti v systému.
Chcete-li zobrazit informace, spusťte tento příkaz:
vmstat -a
Výstup zobrazuje statistiku paměti v kilobajtech ve výchozím stavu. Chcete-li vygenerovat sestavu pomocí megabajtů, použijte -S
možnost.
Statistiky paměti a plánování
Chcete-li vygenerovat podrobnější informace o paměti, čítačích událostí a statistikách plánování CPU, spusťte následující příkaz:
vmstat -s
Výstup zobrazuje zprávu podobnou vmstat
základní zpráva s podrobnostmi v některých částech. Například výstup rozdělí hezké a nepříjemný čas procesoru , které jsou kombinovány v základním vmstat
nahlásit.
Ve výstupu jsou čtyři sekce:
1. První část výstupu se zabývámnožstvím použité paměti:
- Celková fyzická paměť.
- Aktuálně využívaná paměť.
- Aktivní paměť.
- Neaktivní paměť.
- Zdarma paměť.
- Vyrovnávací paměť paměť.
- Mezipaměť paměť.
- Vyměnit informace o paměti.
2. Druhá část zobrazuje Statistiky CPU:
- Nepříjemná CPU ticks – kolikrát byl CPU použit pro vysokou prioritu procesy.
- Pěkná CPU ticks – kolikrát byl CPU použit pro nižší prioritu procesy.
- Ticks CPU systému – kolikrát byl CPU použit pro procesy jádra
- Idle CPU ticks – kolikrát byl CPU nečinný
- IO-wait – počet, kolikrát byl CPU použit pro správu vstupu/výstupu.
- IRQ – počet, kolikrát CPU přijal žádosti o přerušení
- softirq – počet, kolikrát CPU přijal softwarová přerušení.
- ukradl CPU ticks – kolikrát virtuální počítač ukradl CPU čas.
3. Třetí část ukazujehodnoty související se stránkováním paměti:
- Celkový počet stránkovaných stránek z virtuální paměti.
- Celkem odstránkovaných stránek do virtuální paměti.
- Celkový počet stránek přečtených z swap paměti.
- Celkový počet stránek zapsaných na swap paměti.
4. Poslední část popisuje různé čítače událostí:
- Počet přerušení od spuštění.
- Počet kontextových přepínačů provedeno.
- Časové razítko při posledním spuštění.
- Celkový počet rozvětvení
Zobrazení počtu vidlic od spuštění
Forky jsou nové procesy vytvořené ze stávajících běžících. Chcete-li zobrazit počet rozvětvení vytvořených od spuštění systému, spusťte následující příkaz:
vmstat -f
Výstup zobrazuje počet větví vytvořených od spuštění systému.
Zobrazit rychlé souhrnné statistiky disku
-D
možnost vygeneruje rychlou souhrnnou statistiku veškeré aktivity disku. Spusťte následující příkaz:
vmstat -D
Výstup zobrazuje systémové detaily, jako je počet disků, diskových oddílů, počet čtení, zápisů atd.
Zobrazení statistiky disku (statistiky čtení/zápisu)
Chcete-li získat podrobné statistiky o každém využití disku, použijte -d
možnost:
vmstat -d
Výstup zobrazuje tři sloupce pro každý disk – Čtení , Píše a IO . Čtení a zápis se měří v milisekundách , zatímco sloupec IO se měří v sekundách .
Každý sloupec má několik podsekcí:
1. Čte:
- celkem :Celkový počet přečtení disku.
- sloučeno :Celkový počet seskupených čtení.
- odvětví :Celkový počet sektorů, které byly načteny.
- ms :Celkový počet času, který trvalo načtení dat z disku, v milisekundách.
2. Píše:
- celkem :Celkový počet zápisů na disk.
- sloučeno :Celkový počet seskupených zápisů.
- odvětví :Celkový počet zapsaných sektorů.
- ms :Celkový počet času, který trval zápis dat na disk, v milisekundách.
3. IO:
- cur :Celkový počet aktuálních čtení nebo zápisů na disku.
- s :Čas strávený jakýmkoliv probíhajícím čtením nebo zápisem v sekundách.
Zobrazit statistiku oddílu
Vygenerujte zprávu týkající se konkrétního oddílu pomocí -p
volba následovaná názvem oddílu:
vmstat -p [partition_identifier]
V tomto příkladu výstup zobrazuje souhrn pro sda1 , první oddíl zařízení sda. Souhrn zahrnuje čtení disku a napište počítejte s tímto oddílem a celkovým počtem sektorů zapojené do úloh čtení a zápisu na disk.
Zobrazit informace o časovém razítku pro aktualizace
Chcete-li získat časové razítko spolu s požadovaným výstupem, použijte -t
možnost:
vmstat -t
Výstup je stejný jako u základního vmstat
výstup s přidaným časovým razítkem.
Použijte hodnotu zpoždění
[delay]
syntaxe určuje čas, který uplynul mezi každou aktualizací výstupu, vyjádřený v sekundách. Použijte následující syntaxi:
vmstat [delay]
V tomto příkladu je mezi každou aktualizací sestavy třísekundová prodleva.
Pokud žádné zpoždění je zadán, pouze jeden výstup je vytištěno s průměrnými hodnotami od posledního restartu.
Použít hodnotu počtu
Hodnota počtu umožňuje vmstat
vědět, kolik aktualizací provést, než se výstup přestane obnovovat. Chcete-li spustit příkaz nekonečně mnohokrát, vynechejte [count]
syntax.
Syntaxe pro použití hodnoty počtu je:
vmstat [delay[count]]
V tomto příkladu jsme zadali, že chceme pětisekundové zpoždění a tři aktualizace výstupu.
Změnit jednotky
Výchozí jednotkou pro zobrazení statistik paměti a swapu jsou kilobajty . Chcete-li změnit výstupní jednotky, použijte -S
možnost a jeden z následujících argumentů:
- k :1000 bajtů.
- K :1024 bajtů.
- m :1000000 bajtů.
- M :1048576 bajtů.
Chcete-li zobrazit statistiku v desetinných kilobajtech a megabajtech, použijte k a m , resp. Velká písmena K a M zobrazit statistiky v hexadecimálních kilobajtech a megabajtech.
Pomocí následujícího příkazu například aktualizujte statistiky každých 5 sekund a změňte jednotky zobrazení na megabajty:
vmstat 5 -S M
Výstup nyní zobrazuje statistiku paměti a swapu v megabajtech.
Zobrazit statistiky pro desky
Slab alokace je systém správy paměti pro efektivní přidělování paměti různým datovým objektům, které jádro zpracovává.
Chcete-li zobrazit statistiku slabin, použijte -m
volba. Tato akce vyžaduje oprávnění superuživatele . Spusťte následující příkaz:
sudo vmstat -m
Výstup se skládá z pěti sloupců:
1. Mezipaměť :Název dat uložených v mezipaměti.
2. Počet :Celkový počet aktivních objektů v Num cache.
3. Celkem :Počet dostupných objektů v konkrétní mezipaměti.
4. Velikost :Velikost každého objektu uloženého v mezipaměti.
5. Stránky :Počet stránek paměti obsahujících objekt v mezipaměti.