Comanda Linux Vmstat

Comanda Linux Vmstat



În acest ghid, vom demonstra diferitele moduri de utilizare a comenzii „vmstat” în Linux.

Cerințe preliminare:

Pentru a efectua pașii care sunt demonstrați în acest ghid, aveți nevoie de următoarele componente:

Memoria virtuală în Linux

Memoria fizică, denumită și RAM, este finită ca cantitate. Nucleul este responsabil pentru distribuirea acestui spațiu către toate programele care rulează. Toate programele care rulează (inclusiv sistemul de operare) se află în RAM.







Cu toate acestea, dacă cererea de memorie este mai mare decât memoria disponibilă, pur și simplu blochează sistemul (sau programul va cere mai mult spațiu de memorie). În majoritatea situațiilor, acesta este un rezultat nedorit. Aici intervine memoria virtuală.



Memoria virtuală se referă la un spațiu pe disc dedicat pe HDD/SSD care poate acționa ca memorie suplimentară în situații dificile. Deoarece acționează ca spațiu RAM (dar nu chiar), este considerat „virtual”. În sistemele UNIX/Linux, aceste spații sunt denumite spații de schimb.



Nucleul Linux mută blocurile de memorie în spațiu de swap și le recuperează înapoi în RAM după cum este necesar.





Performanța memoriei virtuale este cu siguranță mai lentă decât memoria fizică și este direct proporțională cu performanța dispozitivului de stocare. Cu toate acestea, în anumite configurații hardware (folosind SSD NVMe, de exemplu), performanța poate fi echivalentă cu RAM.

Comanda Vmstat

Comanda „vmstat” este un instrument de monitorizare care raportează diverse informații despre memoria virtuală. Este disponibil pe toate sistemele Linux ca parte a pachetului „sysstat”.



Structura de comandă a „vmstat” este următoarea:

$ vmstat < Opțiuni > < întârziere > < numara >

Utilizare de bază

Dacă este rulat fără niciun parametru, „vmstat” tipărește informațiile de sistem de la ultima pornire:

$ vmstat

Ieșirea este aranjată în șase segmente:

  • proceselor : Statistici ale proceselor care rulează în prezent
    • r : Numărul de procese active
    • b : Numărul de procese de somn
  • memorie : Statistici privind utilizarea memoriei
    • swpd : cantitatea totală de memorie virtuală (spațiu de schimb)
    • gratuit : Spațiu de schimb disponibil
    • piele de bivol : Cantitatea de spațiu de swap utilizată ca memorie tampon temporară
    • cache : Memoria cache totală
  • schimb : Statistici despre spațiul de schimb
    • Da : Rata de schimb
    • asa de : Rata de schimb
  • acest : statistici I/O
    • cu : numărul de blocuri primite de la dispozitivele de blocare
    • fi : Numărul de blocuri trimise către dispozitive de blocare
  • sistem : Statistici privind programarea
    • în : Numărul de întreruperi ale sistemului
    • cs : Rata schimbărilor de context
  • CPU : Diverse statistici CPU
    • S.U.A : CPU petrece timp pe procese non-kernel
    • și : CPU petrece timp pe procesele nucleului
    • id : CPU-ul petrece timp inactiv
    • de : CPU petrece timp în așteptarea finalizării operațiunilor I/O
    • Sf : timpul CPU utilizat de o mașină virtuală

Schimbarea unității de afișare

În mod implicit, „vmstat” raportează valorile memoriei în kiloocteți. Pentru a schimba unitatea, utilizați „ -S ' steag:

$ vmstat -S < argument >

Aici, „vmstat” tipărește valorile în megaocteți.

Există mai multe unități de memorie disponibile:

  • M : 1048576 octeți (2^20 octeți)
  • m : 1000000 de octeți (1000 de kiloocteți)
  • K : 1024 octeți (1 megaoctet)
  • k : 1000 de octeți (1 kilooctet)

Actualizare continuă a statisticilor

În mod implicit, „vmstat” tipărește raportul o dată. Cu toate acestea, putem instrui „vmstat” să furnizeze rapoarte continue la un interval de timp specificat (în secunde).

Structura comenzii este următoarea:

$ vmstat < întârziere >

De exemplu, pentru a obține statisticile actualizate la fiecare 2 secunde, comanda este următoarea:

$ vmstat 2

Ieșirea nu se va opri decât dacă este oprită manual folosind „Ctrl + C”.

Alternativ, putem specifica „vmstat” pentru a furniza statisticile pentru un anumit număr de ori:

$ vmstat < întârziere > < numara >

De exemplu, pentru a obține statisticile actualizate la fiecare 2 secunde timp de 5 ori, comanda arată astfel:

$ vmstat 2 5

Memorie activă și inactivă

Memoria activă se referă la spațiul de memorie care este utilizat în prezent de un proces. Pe de altă parte, memoria inactivă se referă la spațiul de memorie care a fost alocat unui proces care nu mai rulează.

Folosind „vmstat”, putem verifica cantitatea de memorii active și inactive utilizate:

$ vmstat -A

Aici, coloanele „buff” și „cache” sunt înlocuite cu coloanele „inact” și, respectiv, „active”.

Memorie și programare

Pentru a obține un raport mai detaliat despre memorie și programare, utilizați următoarea comandă:

$ vmstat -s

Aici:

  • Secțiunea 1: Această secțiune tratează informațiile de bază ale sistemului, cum ar fi memoria fizică totală, memoria activă/inactivă, memoria liberă/buffer/cache etc.
  • Secțiunea 2: Diverse statistici CPU
    • Tickuri neplăcute ale procesorului : De câte ori procesele cu prioritate înaltă au folosit CPU.
    • Drumuri CPU-uri : De câte ori procesele cu prioritate mai mică au folosit CPU.
    • CPU-ul sistemului bifează : De câte ori procesele nucleului au folosit procesorul.
    • CPU-ul inactiv : De câte ori CPU a stat inactiv.
    • IO-wait ticks CPU : De câte ori CPU așteaptă pentru gestionarea I/O.
    • IRQ : De câte ori CPU a primit cereri de întrerupere.
    • softirq : Numărul de ori când CPU a primit solicitări de întrerupere software.
    • căpuşele CPU furate : De câte ori VM-urile au furat timpul CPU.
  • Secțiunea 3: Statistici de paginare în memorie
  • Secțiunea 4: Contoare de evenimente

Furci de la Boot

Furcile se referă la procese care au fost generate de procesele existente. Pentru a obține statisticile privind numărul de furcături, rulați următoarea comandă:

$ vmstat -f

Statistici de disc și partiții

Comanda „vmstat” poate oferi, de asemenea, informații despre activitatea discului. Pentru a obține un rezumat rapid al activității discului, rulați următoarea comandă:

$ vmstat -D

Pentru a obține un raport de activitate pe disc mai detaliat (inclusiv statistici de citire/scriere), utilizați în schimb următoarea comandă:

$ vmstat -d

Aici:

  • Citeste
    • total : Număr total de citiri pe disc
    • comasate : Numărul total de citiri în grup
    • sectoare : Numărul total de sectoare citite
    • Domnișoară : Cantitatea totală de timp pentru a citi datele de pe disc (în milisecunde)
  • Scrie
    • total : Număr total de scrieri pe disc
    • comasate : Numărul total de scrieri în grup
    • sectoare : Numărul total de sectoare scrise
    • Domnișoară : Timp total de scriere pe disc (în milisecunde)
  • IO
    • a pune : Totalul de citiri/scrieri curente pe disc
    • sec : cantitatea de timp petrecută în operațiuni de citire/scriere în curs (în secunde)

Comanda „vmstat” poate genera și rapoarte pentru o anumită partiție de disc. Pentru a obține raportul de partiție, utilizați următoarea structură de comandă:

$ vmstat -p < partition_identifier >

Statistica plăcilor

Alocarea plăcilor este concepută pentru a fi un mecanism eficient pentru alocarea memoriei obiectelor. Comparativ cu mecanismele anterioare, alocarea slabă oferă o reducere a fragmentării memoriei (cauzată de alocarea și dealocarea memoriei).

Pentru a verifica statisticile plăcii ale sistemului, utilizați următoarea comandă „vmstat”:

$ sudo vmstat -m

Rețineți că necesită permisiunea root pentru a vizualiza statisticile.

Aici:

  • Cache : Numele datelor din cache
  • pe unu : Numărul de obiecte care sunt active în memoria cache Num
  • Total : Numărul total de obiecte dintr-un anumit cache
  • mărimea : Dimensiunea obiectelor din cache
  • Pagini : Numărul de pagini de memorie care conțin obiectele din cache

Concluzie

În acest ghid, am prezentat diferitele moduri de utilizare a comenzii „vmstat”. Pe lângă memoria virtuală, „vmstat” poate raporta, de asemenea, statistici de disc, furci, plăci și multe altele.

Vă interesează să aflați despre alte instrumente de monitorizare a sistemului? Află mai multe despre htop , ucide , ps , etc.

Calcul fericit!