Linux Vmstat -komento

Linux Vmstat Komento



Tässä oppaassa esittelemme erilaisia ​​tapoja käyttää 'vmstat' -komentoa Linuxissa.

Edellytykset:

Tässä oppaassa esitettyjen vaiheiden suorittamiseksi tarvitset seuraavat osat:

  • Oikein konfiguroitu Linux-järjestelmä. Testaustarkoituksiin, harkitse Linux VM:n käyttöä .
  • Pääsy a ei-root-käyttäjä, jolla on sudo-oikeudet
  • Perustiedot komentorivikäyttöliittymästä

Virtuaalinen muisti Linuxissa

Fyysisen muistin, jota kutsutaan myös RAM-muistiksi, määrä on rajallinen. Ydin on vastuussa tämän tilan jakamisesta kaikille käynnissä oleville ohjelmille. Kaikki käynnissä olevat ohjelmat (mukaan lukien käyttöjärjestelmä) sijaitsevat RAM-muistissa.







Jos muistin tarve on kuitenkin suurempi kuin sen käytettävissä oleva muisti, se yksinkertaisesti kaataa järjestelmän (tai ohjelma pyytää lisää muistitilaa). Useimmissa tilanteissa se on ei-toivottu tulos. Tässä tulee virtuaalimuisti käyttöön.



Virtuaalimuistilla tarkoitetaan kiintolevyllä/SSD:llä olevaa erillistä levytilaa, joka voi toimia lisämuistina vaikeissa tilanteissa. Koska se toimii RAM-tilana (mutta ei oikeastaan), sitä pidetään 'virtuaalisena'. UNIX/Linux-järjestelmissä näitä tiloja kutsutaan swap-tiloiksi.



Linux-ydin siirtää muistilohkot swap-tilaan ja hakee ne takaisin RAM-muistiin tarvittaessa.





Virtuaalimuistin suorituskyky on ehdottomasti fyysistä muistia hitaampi ja suoraan verrannollinen tallennuslaitteen suorituskykyyn. Tietyissä laitteistokokoonpanoissa (esimerkiksi NVMe SSD:tä käytettäessä) suorituskyky voi kuitenkin vastata RAM-muistia.

Vmstat-komento

Komento 'vmstat' on valvontatyökalu, joka raportoi erilaisia ​​tietoja virtuaalimuistista. Se on saatavilla kaikissa Linux-järjestelmissä osana 'sysstat'-pakettia.



'vmstat' -komentorakenne on seuraava:

$ vmstat < vaihtoehtoja > < viive > < Kreivi >

Peruskäyttö

Jos se suoritetaan ilman parametreja, 'vmstat' tulostaa järjestelmätiedot viimeisestä käynnistyksestä:

$ vmstat

Tulos on järjestetty kuuteen segmenttiin:

  • prosessit : Tällä hetkellä käynnissä olevien prosessien tilastot
    • r : Aktiivisten prosessien määrä
    • b : Nukkumisprosessien lukumäärä
  • muisti : Tilastot muistin käytöstä
    • swpd : Virtuaalimuistin kokonaismäärä (vaihtotila)
    • vapaa : Vapaata vaihtotilaa
    • harrastaja : Väliaikaisena puskurimuistina käytettävän sivutustilan määrä
    • kätkö : Välimuistin kokonaismäärä
  • vaihtaa : Tilastot swap-tilasta
    • Joo : Vaihtonopeus
    • niin : Vaihtonopeus
  • Tämä : I/O-tilastot
    • kanssa : Lohkojen määrä, joka on vastaanotettu lohkolaitteista
    • olla : Estolaitteisiin lähetettyjen lohkojen määrä
  • järjestelmä : Tilastot aikataulusta
    • sisään : Järjestelmä keskeyttää laskennan
    • cs : Kontekstin vaihtamisnopeus
  • prosessori : Erilaiset suorittimen tilastot
    • meille : CPU käyttää aikaa ei-ytimen prosesseihin
    • ja : CPU viettää aikaa ytimen prosesseihin
    • id : CPU viettää aikaa tyhjäkäynnillä
    • / : CPU viettää aikaa odottaessaan I/O-toimintojen valmistumista
    • st : Virtuaalikoneen käyttämä suoritinaika

Näyttöyksikön vaihtaminen

Oletusarvoisesti 'vmstat' raportoi muistiarvot kilotavuina. Jos haluat vaihtaa yksikön, käytä ' -S 'lippu:

$ vmstat -S < Perustelu >

Täällä 'vmstat' tulostaa arvot megatavuina.

Saatavilla on useita muistiyksiköitä:

  • M : 1048576 tavua (2^20 tavua)
  • m : 1000000 tavua (1000 kilotavua)
  • K : 1024 tavua (1 megatavu)
  • k : 1000 tavua (1 kilotavu)

Jatkuva tilastopäivitys

Oletusarvoisesti 'vmstat' tulostaa raportin kerran. Voimme kuitenkin ohjeistaa 'vmstat' toimittamaan jatkuvia raportteja tietyllä aikavälillä (sekunneissa).

Komentorakenne on seuraava:

$ vmstat < viive >

Jos esimerkiksi haluat saada päivitetyt tilastot 2 sekunnin välein, komento on seuraava:

$ vmstat 2

Tulostus ei pysähdy, ellei sitä lopeteta manuaalisesti painamalla 'Ctrl + C'.

Vaihtoehtoisesti voimme määrittää 'vmstat' antaaksemme tilastot tietylle määrälle kertoja:

$ vmstat < viive > < Kreivi >

Jos esimerkiksi haluat saada päivitetyt tilastot 2 sekunnin välein 5 kertaa, komento näyttää tältä:

$ vmstat 2 5

Aktiivinen ja ei-aktiivinen muisti

Aktiivinen muisti tarkoittaa muistitilaa, jota prosessi parhaillaan käyttää. Toisaalta ei-aktiivinen muisti viittaa muistitilaan, joka on määritetty prosessille, joka ei ole enää käynnissä.

Käyttämällä 'vmstat' voimme tarkistaa käytössä olevien aktiivisten ja passiivisten muistien määrän:

$ vmstat -a

Tässä sarakkeet 'buff' ja 'cache' korvataan sarakkeilla 'inact' ja 'active' vastaavasti.

Muisti ja ajoitus

Saat yksityiskohtaisemman raportin muistista ja ajoituksesta käyttämällä seuraavaa komentoa:

$ vmstat -s

Tässä:

  • Osa 1: Tämä osio käsittelee järjestelmän perustietoja, kuten fyysistä kokonaismuistia, aktiivista/ei-aktiivista muistia, vapaata/puskuri-/välimuistia jne.
  • Osa 2: Erilaiset CPU-tilastot
    • Epämukavat suorittimen tikkuja : Kuinka monta kertaa korkean prioriteetin prosessit käyttivät suoritinta.
    • Hienoja prosessorin tikkuja : kuinka monta kertaa alemman prioriteetin prosessit käyttivät suoritinta.
    • Järjestelmän CPU tikittää : kuinka monta kertaa ytimen prosessit käyttivät suoritinta.
    • Idle CPU tikittää : Niiden kertojen lukumäärä, jolloin suoritin on ollut käyttämättömänä.
    • IO-wait CPU tikittää : Kuinka monta kertaa CPU odottaa I/O-hallintaa.
    • IRQ : kuinka monta kertaa CPU vastaanotti keskeytyspyynnöt.
    • softirq : kuinka monta kertaa CPU vastaanotti ohjelmiston keskeytyspyynnöt.
    • varastetut prosessorin tikit : kuinka monta kertaa virtuaalikoneet varastivat suorittimen ajan.
  • Osa 3: Muistin hakutilastot
  • Osa 4: Tapahtumalaskurit

Haarukat Bootista lähtien

Haarukat viittaavat prosesseihin, jotka ovat synnyttäneet olemassa olevia prosesseja. Saadaksesi tilastot haarukan määrästä, suorita seuraava komento:

$ vmstat -f

Levy- ja osiotilastot

'vmstat'-komento voi myös antaa tietoja levyn toiminnasta. Saat nopean yhteenvedon levyn toiminnasta suorittamalla seuraavan komennon:

$ vmstat -D

Saat yksityiskohtaisemman levyn toimintaraportin (mukaan lukien luku-/kirjoitustilastot) käyttämällä seuraavaa komentoa:

$ vmstat -d

Tässä:

  • Lukee
    • kaikki yhteensä : Levyn lukujen kokonaismäärä
    • yhdistetty : Ryhmän lukujen kokonaismäärä
    • aloilla : Luettujen sektoreiden kokonaismäärä
    • neiti : Kokonaisaika, joka kuluu tietojen lukemiseen levyltä (millisekunteina)
  • Kirjoittaa
    • kaikki yhteensä : Levyn kirjoitusmäärä yhteensä
    • yhdistetty : Ryhmän kirjoitusten kokonaismäärä
    • aloilla : kirjoitettujen sektoreiden kokonaismäärä
    • neiti : Kokonaisaika levylle kirjoittamiseen (millisekunteina)
  • IO
    • laittaa : Nykyiset levyn luku-/kirjoitusmäärät yhteensä
    • sek : Jatkuvassa luku-/kirjoitustoiminnossa käytetty aika (sekunteina)

'vmstat'-komento voi myös luoda raportteja tietylle levyosiolle. Saat osioraportin käyttämällä seuraavaa komentorakennetta:

$ vmstat -s < osion_tunniste >

Laattatilastot

Laattojen varaus on suunniteltu tehokkaaksi mekanismiksi objektien muistin varaamiseen. Verrattuna aikaisempiin mekanismeihin laatan allokointi vähentää muistin pirstoutumista (johtuu muistin varaamisesta ja purkamisesta).

Voit tarkistaa järjestelmän laattatilastot käyttämällä seuraavaa 'vmstat' -komentoa:

$ sudo vmstat -m

Huomaa, että se vaatii pääkäyttäjän oikeudet nähdäksesi tilastot.

Tässä:

  • Kätkö : Välimuistissa olevien tietojen nimi
  • yhdellä : Num-välimuistissa olevien objektien lukumäärä
  • Kaikki yhteensä : Objektien kokonaismäärä tietyssä välimuistissa
  • Koko : Välimuistissa olevien objektien koko
  • Sivut : Välimuistissa olevia objekteja sisältävien muistisivujen määrä

Johtopäätös

Tässä oppaassa esittelimme erilaisia ​​tapoja käyttää 'vmstat' -komentoa. Virtuaalimuistin lisäksi 'vmstat' voi myös raportoida levytilastoista, haarukoista, laatoista ja muusta.

Oletko kiinnostunut oppimaan muista järjestelmän valvontatyökaluista? Lisätietoja: htop , tappaa , ps , jne.

Onnea tietojenkäsittelyyn!