Doplněk k topu: vm_stat - MujMAC.cz - Apple, Mac OS X, Apple iPod

Odběr fotomagazínu

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:

Soutěž

Sponzorem soutěže je:

IDIF

 

Kde se narodil známý fotograf František Drtikol?

V dnešní soutěži hrajeme o:

Seriály

Více seriálů



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):

Tématické zařazení:

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Software  

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: