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!