Linux Vmstat parancs

Linux Vmstat Parancs



Ebben az útmutatóban bemutatjuk a „vmstat” parancs Linux alatti használatának különféle módjait.

Előfeltételek:

Az ebben az útmutatóban bemutatott lépések végrehajtásához a következő összetevőkre van szüksége:

Virtuális memória Linux alatt

A fizikai memória, amelyet RAM-nak is neveznek, véges. A kernel felelős azért, hogy ezt a területet elosztja az összes futó program számára. Az összes futó program (beleértve az operációs rendszert is) a RAM-ban található.







Ha azonban a memóriaigény nagyobb, mint a rendelkezésre álló memória, akkor egyszerűen összeomlik a rendszer (vagy a program több memóriaterületet kér). A legtöbb esetben ez nem kívánt eredmény. Itt jön be a virtuális memória.



A virtuális memória a HDD/SSD dedikált lemezterületére utal, amely további memóriaként szolgálhat súlyos helyzetekben. Mivel RAM-területként működik (de nem igazán), „virtuálisnak” tekintik. UNIX/Linux rendszerekben ezeket a helyeket csereterületeknek nevezik.



A Linux kernel áthelyezi a memóriablokkokat a swap területre, és szükség szerint visszakeresi a RAM-ba.





A virtuális memória teljesítménye határozottan lassabb, mint a fizikai memória, és egyenesen arányos a tárolóeszköz teljesítményével. Bizonyos hardverkonfigurációkban (például NVMe SSD használatával) azonban a teljesítmény egyenértékű lehet a RAM-mal.

A Vmstat parancs

A „vmstat” parancs egy megfigyelő eszköz, amely különféle információkat jelent a virtuális memóriáról. Minden Linux rendszeren elérhető a „sysstat” csomag részeként.



A „vmstat” parancsszerkezete a következő:

$ vmstat < lehetőségek > < késleltetés > < számol >

Alapvető használat

Ha paraméter nélkül fut, a „vmstat” kiírja a rendszerinformációkat az utolsó indítás óta:

$ vmstat

A kimenet hat szegmensre van elrendezve:

  • folyamatokat : Az éppen futó folyamatok statisztikái
    • r : Az aktív folyamatok száma
    • b : Az alvási folyamatok száma
  • memória : Memóriahasználati statisztikák
    • swpd : A virtuális memória teljes mennyisége (csereterület)
    • ingyenes : Szabad csereterület
    • barnássárga : Az ideiglenes puffermemóriaként használt csereterület mennyisége
    • gyorsítótár : Teljes gyorsítótár
  • csere : Statisztikák a csereterületről
    • Igen : Beváltási arány
    • így : Kicserélés aránya
  • ez : I/O statisztikák
    • val,-vel : A blokkeszköz(ök)től kapott blokkok száma
    • lenni : A blokkolóeszköz(ek)nek küldött blokkok száma
  • rendszer : Statisztikák az ütemezésről
    • ban ben : A rendszer megszakítja a számlálást
    • cs : A környezetváltások sebessége
  • CPU : Különféle CPU statisztikák
    • minket : A CPU nem kernel folyamatokon tölt időt
    • és : A CPU kernelfolyamatokra fordított időt
    • id : A CPU üresjáratban tölti az idejét
    • nak,-nek : A CPU időt tölt az I/O műveletek befejezésére várva
    • utca : A virtuális gép által használt CPU-idő

A kijelző egység cseréje

Alapértelmezés szerint a „vmstat” a memóriaértékeket kilobájtban jelenti. Az egység megváltoztatásához használja a „ -S ” zászló:

$ vmstat -S < érv >

Itt a „vmstat” megabájtban írja ki az értékeket.

Számos memóriaegység áll rendelkezésre:

  • M : 1048576 bájt (2^20 bájt)
  • m : 1000000 bájt (1000 kilobájt)
  • K : 1024 bájt (1 megabájt)
  • k : 1000 bájt (1 kilobájt)

Folyamatos statisztikai frissítés

Alapértelmezés szerint a „vmstat” egyszer nyomtatja ki a jelentést. Azonban utasíthatjuk a „vmstat”-t, hogy meghatározott időközönként (másodpercben) folyamatos jelentéseket adjon.

A parancs szerkezete a következő:

$ vmstat < késleltetés >

Például a frissített statisztikák 2 másodpercenkénti lekéréséhez a parancs a következő:

$ vmstat 2

A kimenet csak akkor áll le, ha manuálisan leállítja a „Ctrl + C” használatával.

Alternatív megoldásként megadhatjuk a „vmstat” értéket, hogy meghatározott számú alkalommal biztosítsuk a statisztikákat:

$ vmstat < késleltetés > < számol >

Például a frissített statisztikák 2 másodpercenkénti 5-szöri lekéréséhez a parancs így néz ki:

$ vmstat 2 5

Aktív és inaktív memória

Az aktív memória arra a memóriaterületre utal, amelyet egy folyamat jelenleg használ. Másrészt az inaktív memória arra a memóriaterületre utal, amelyet egy már nem futó folyamathoz rendeltek.

A „vmstat” segítségével ellenőrizhetjük a használt aktív és inaktív memóriák mennyiségét:

$ vmstat -a

Itt a „buff” és „cache” oszlopokat az „inact” és „active” oszlopok váltják fel.

Memória és ütemezés

Ha részletesebb jelentést szeretne kapni a memóriáról és az ütemezésről, használja a következő parancsot:

$ vmstat -s

Itt:

  • 1. szakasz: Ez a szakasz az alapvető rendszerinformációkkal foglalkozik, mint például a teljes fizikai memória, az aktív/inaktív memória, a szabad/puffer/gyorsítótár memória stb.
  • 2. szakasz: Különféle CPU statisztikák
    • Nem szép CPU ketyeg : Hányszor használták a magas prioritású folyamatok a CPU-t.
    • Szépek a CPU-k : Ahányszor az alacsonyabb prioritású folyamatok használták a CPU-t.
    • Rendszer CPU ketyeg : Az a szám, ahányszor a kernelfolyamatok használták a CPU-t.
    • Idle CPU ketyeg : Ahányszor a CPU tétlen volt.
    • IO-wait CPU ketyeg : Ahányszor a CPU az I/O kezelésre vár.
    • IRQ : Ahányszor a CPU megkapta a megszakítási kérelmeket.
    • softirq : Ahányszor a CPU megkapta a szoftvermegszakítási kérelmeket.
    • lopott CPU-kulcsok : Azon alkalmak száma, amikor a virtuális gépek ellopták a CPU-időt.
  • 3. szakasz: Memórialapozási statisztikák
  • 4. szakasz: Eseményszámlálók

Forks Boot óta

A villák olyan folyamatokra utalnak, amelyeket a meglévő folyamatok hoztak létre. A villaszámlálási statisztikák megtekintéséhez futtassa a következő parancsot:

$ vmstat -f

Lemez- és partícióstatisztika

A „vmstat” parancs a lemeztevékenységről is információt szolgáltathat. A lemeztevékenység gyors összefoglalásához futtassa a következő parancsot:

$ vmstat -D

Ha részletesebb lemeztevékenységi jelentést szeretne kapni (beleértve az olvasási/írási statisztikákat is), használja inkább a következő parancsot:

$ vmstat -d

Itt:

  • Olvas
    • teljes : Teljes lemezolvasási szám
    • összeolvadt : A csoport összes olvasásának száma
    • ágazatokban : Az olvasott szektorok teljes száma
    • Kisasszony : Az adatok lemezről történő beolvasásának teljes ideje (ezredmásodpercben)
  • Írja
    • teljes : Teljes lemezírási szám
    • összeolvadt : Összes csoportos írások száma
    • ágazatokban : A megírt szektorok teljes száma
    • Kisasszony : A lemezre való írás teljes ideje (ezredmásodpercben)
  • IO
    • tegye : Összes aktuális lemezolvasás/írás
    • mp : A folyamatban lévő olvasási/írási műveletben eltöltött idő (másodpercben)

A „vmstat” parancs egy adott lemezpartícióhoz is képes jelentéseket generálni. A partíciójelentés lekéréséhez használja a következő parancsstruktúrát:

$ vmstat -o < partíció_azonosító >

Födémstatisztika

A födémallokációt úgy tervezték meg, hogy hatékony mechanizmus legyen az objektumok memóriafoglalásához. A korábbi mechanizmusokhoz képest a födém-allokáció csökkenti a memória töredezettségét (memóriafoglalás és felosztás miatt).

A rendszer födémstatisztikáinak ellenőrzéséhez használja a következő „vmstat” parancsot:

$ sudo vmstat -m

Vegye figyelembe, hogy a statisztikák megtekintéséhez root jogosultság szükséges.

Itt:

  • Gyorsítótár : A gyorsítótárazott adatok neve
  • az egyiken : A Num cache-ben aktív objektumok száma
  • Teljes : Az objektumok teljes száma egy adott gyorsítótárban
  • Méret : A gyorsítótárazott objektumok mérete
  • Oldalak : A gyorsítótárazott objektumokat tartalmazó memóriaoldalak száma

Következtetés

Ebben az útmutatóban bemutattuk a „vmstat” parancs használatának különféle módjait. A virtuális memória mellett a „vmstat” a lemezstatisztikákról, a villákról, a lemezekről és egyebekről is jelentést tud készíteni.

Érdekel más rendszerfigyelő eszközöket? Tudj meg többet htop , megöl , ps stb.

Boldog számítástechnikát!