Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Informace
Doplněk k topu: vm_stat
16. ledna 2003, 00.00 | V několika minulých dílech našeho seriálu jsme se seznámili s voláním a s možnostmi příkazu top. Dnes si ukážeme ještě jeden jeho příjemný doplněk, který nabízí lepší přehled o celkovém stavu virtuální paměti a stránkování: příkaz vm_stat.
V několika minulých dílech našeho seriálu jsme se seznámili s voláním a s možnostmi příkazu top. Dnes si ukážeme ještě jeden jeho příjemný doplněk, který nabízí lepší přehled o celkovém stavu virtuální paměti a stránkování: příkaz vm_stat.
Na rozdíl od topu, který nabízí řadu variant spouštění a řadu různých modifikátorů, je vm_stat velmi jednoduchý: zavoláme-li jej bez argumentů, prostě zobrazí momentální stav čítačů všech událostí (důležitých z hlediska virtuální paměti). Zadáme-li jako argument číslo N, zobrazí vm_stat další "snímek", relativní vůči minulé hodnotě, každých N sekund.
Jak vidíme, vm_stat nedává informace o konkrétních procesech; zajímá-li nás ale stav systému jako celku — a tak tomu většinou skutečně bývá —, je výpis příkazu vm_stat daleko šikovnější a přehlednější, než sledování hlavičky topu (která, jak už dávno víme, obsahuje obdobné údaje).
Ukažme si krátký příklad volání vm_stat a vysvětleme si jednotlivé údaje, které zobrazuje:
2 ~> vm_stat 1
Mach Virtual Memory Statistics: (page size of 4096 bytes, cache hits 78%)
free active inac wire faults copy zerofill reactive pageins pageout
3365 88210 42867 13014 9354203 179958 7655883 161062 13068 8768
3306 88213 42921 13016 4343 4 1144 0 0 0
3329 88213 42898 13016 2301 0 226 0 0 0
3279 88213 42944 13020 2087 0 1515 0 0 0
3273 88214 42945 13024 1939 2 962 0 0 0
4315 87433 42684 13024 1350 4 397 0 0 0
4316 87435 42681 13024 694 2 626 0 0 0
4338 87432 42662 13024 565 2 99 0 0 0
4307 87432 42693 13024 709 0 574 0 0 0
...
Především, je dobře vidět, že první řádek obsahuje akumulované údaje za celou dobu běhu systému, zatímco další řádky (od sloupce "faults" dále) obsahují změny oproti minulému stavu. A co nám říkají jednotlivé sloupce?
- free: počet volných, nijak nevyužitých stránek v systému. Vidíme např. že mezi druhým a třetím řádkem přibylo 23 volných stránek; za chvilku si ukážeme, kde se vzaly;
- active: počet aktivních stránek — těch, které jsou využity a obsahují nějaké údaje (jsou přiděleny nějakému procesu);
- inactive: počet neaktivních stránek (připravených k odebrání procesu): tady vidíme, kde se vzalo těch 23 volných stránek — neaktivních stránek je na třetím řádku právě o 23 méně, než o řádek výš (to ovšem neznamená, že by systém přímo přeřadil 23 stránek z neaktivních do volných: operací za sekundu proběhlo daleko více, a tohle je jejich výsledek);
- wire: "zadrátované" (wired), tj. napevno přiřazené stránky, s nimiž systém nemůže volně pracovat (nejspíše půjde o systémové stránky, vázané ovladači zařízení);
- faults: počet výpadků stránky — chvil, kdy nějaký proces "sáhne" do paměti, jež neexistuje. Následující sloupce (vyjma posledního) vlastně ukazují různá řešení, jež systém může zvolit:
- copy: stránka může být vytvořena jako privátní kopie stránky dosud sdílené;
- zerofill: procesu je přidělena nová stránka (a její obsah je samozřejmě automaticky vynulován, proto "zero fill");
- reactive: stránka, jež už byla zařazena mezi neaktivní, je použita dříve, než ji systém přidělil jinému procesu: v tomto případě je stránka znovu aktivována, a s jejím obsahem není třeba nic dělat;
- pageins: procesu je přidělena nová stránka, jejíž obsah je uložen na disku — systém jej tedy musí načíst;
- pageout: počet případů, kdy je stránka procesu odebrána a její obsah je zapsán na disk.
V příštím dílu našeho seriálu se na tyto údaje podíváme trochu podrobněji, a ukážeme si, jak je interpretovat. Vysvětlíme si také to, proč je pageins méně než pageout (na první pohled by se přece zdálo, že nejprve se musí stránka na disk uložit, a teprve pak ji lze načíst), nebo proč je faults více, než součet zbývajících sloupců.
Obsah seriálu (více o seriálu):
- Obcování s ďáblem
- Obcování s ďáblem 2 - základy
- Obcování s ďáblem 3 - Práce se soubory
- Obcování s ďáblem 4 - Další práce se soubory
- Obcování s ďáblem 5 - Stále soubory, hlavně linky
- Obcování s ďáblem 6: Pár zbývajících drobností
- Obcování s ďáblem 7: Samá voda, přihořívá, hoří!
- Obcování s ďáblem 8: Jak se do shellu volá, tak se program ozývá
- Obcování s ďáblem 9: Nové finty na programy
- Obcování s ďáblem 10: Do fronty, pánové, do fronty!
- Obcování s ďáblem 11: Standardní vstup a výstup
- Obcování s ďáblem 13: Další triky
- Obcování s ďáblem 14: Vyšší škola hledání souborů
- Obcování s ďáblem 15: Příkaz find stokrát jinak
- Obcování s ďáblem 16: Co se ještě dá uvařit z příkazu find
- Obcování s ďáblem 17: Regulární výrazy
- Obcování s ďáblem 18: Speciální regulární výrazy
- Obcování s ďáblem 19: Skládání regulárních výrazů
- Obcování s ďáblem 20: Regulární výrazy se zpětnými odkazy
- Obcování s ďáblem 21:K čemu je dobrý grep...
- Zázraky ihned, nemožné na počkání: sed
- Obcování s ďáblem - další finty s příkazem sed
- Rozsáhlejší příklad se sedem
- Obcování s ďáblem: Další kouzla, aneb awk
- Awk a proměnné
- Obcování s ďáblem 27: Awk a výrazy
- Obcování s ďáblem: Awk a funkce
- Awk a příkazy
- Co je to vlastně "uživatel"?
- Vlastnictví objektů
- Přístupová práva
- Vlastník, skupina, ostatní...
- Jak je to se skupinami?
- Skupiny a uživatelé
- Scripty
- Komentáře, a volba shellu
- Pro skript může být shell cokoli!
- Shellové skripty a argumenty
- Skripty a proměnné: aritmetika
- Proměnné shellu, "dědění" hodnot
- Práce s proměnnými
- Práce se jmény souborů
- Pole hodnot
- Další triky kolem polí...
- Standardní proměnné shellu
- Základní příkazy pro skripty
- Příkaz if
- Speciální podmínkové příkazy
- Podmínky pro práci se soubory
- Jednoduchý cyklus
- Příkaz for a pomocné příkazy break a continue
- Příkaz case
- Příkazy exit a select
- Rejstřík a přehled
- Procesy
- Informace o procesech
- Další klíčová slova pro příkaz ps
- Příkaz ps: několik praktických přepínačů
- A k čemu že je "ps" dobré?
- Copak procesor, s pamětí je to horší
- Virtuální paměť
- A ještě jednou virtuální paměť
- Zpět k příkazu ps
- Skutečný žrout paměti
- Ještě jednou top
- Doplněk k topu: vm_stat
- Co to tedy všechno znamená?
- Nevychází nám dal a má dáti?
- Kam se stránky ukládají?
- Změna odkládacího disku
- Změna odkládacího disku / fstab
- Poslední poznámka k fstab
- A jak to je se soubory?
- Co vlastně příkaz lsof vypisuje?
- Příkaz lsof a obsah sloupce NAME
- SIPS - Terminál není jen pro nadšence UNIXu
- Tak nám zabili NetInfo, paní Müllerová