Linux Vmstat-opdracht

Linux Vmstat Opdracht



In deze handleiding zullen we de verschillende manieren demonstreren om de opdracht “vmstat” in Linux te gebruiken.

Vereisten:

Om de stappen uit te voeren die in deze handleiding worden gedemonstreerd, hebt u de volgende componenten nodig:

  • Een correct geconfigureerd Linux-systeem. Voor testdoeleinden, Overweeg het gebruik van een Linux-VM .
  • Toegang tot een niet-rootgebruiker met sudo-rechten
  • Basiskennis van de opdrachtregelinterface

Virtueel geheugen in Linux

Het fysieke geheugen, ook wel RAM genoemd, is eindig in hoeveelheid. De kernel is verantwoordelijk voor het distribueren van deze ruimte naar alle actieve programma's. Alle actieve programma's (inclusief het besturingssysteem) bevinden zich in het RAM-geheugen.







Als de vraag naar geheugen echter hoger is dan het beschikbare geheugen, crasht het systeem eenvoudigweg (of vraagt ​​het programma om meer geheugenruimte). In de meeste situaties is dat een ongewenste uitkomst. Dit is waar virtueel geheugen in beeld komt.



Virtueel geheugen verwijst naar een speciale schijfruimte op uw harde schijf/SSD die in moeilijke situaties kan fungeren als extra geheugen. Omdat het fungeert als RAM-ruimte (maar niet echt), wordt het als ‘virtueel’ beschouwd. In UNIX/Linux-systemen worden deze spaties swapspaces genoemd.



De Linux-kernel verplaatst de geheugenblokken naar swapruimte en haalt ze indien nodig terug naar het RAM-geheugen.





De prestaties van het virtuele geheugen zijn beslist langzamer dan die van het fysieke geheugen en zijn recht evenredig met de prestaties van het opslagapparaat. In specifieke hardwareconfiguraties (bijvoorbeeld met NVMe SSD) kunnen de prestaties echter gelijkwaardig zijn aan RAM.

Het Vmstat-commando

De opdracht “vmstat” is een monitoringtool die verschillende informatie over het virtuele geheugen rapporteert. Het is beschikbaar op alle Linux-systemen als onderdeel van het “sysstat” -pakket.



De opdrachtstructuur van “vmstat” is als volgt:

$ vmstat < opties > < vertraging > < graaf >

Basisgebruik

Als het zonder enige parameter wordt uitgevoerd, drukt “vmstat” de systeeminformatie af sinds de laatste keer opstarten:

$ vmstat

De uitvoer is gerangschikt in zes segmenten:

  • processen : Statistieken van processen die momenteel actief zijn
    • R : Aantal actieve processen
    • B : Aantal slaapprocessen
  • geheugen : Statistieken over geheugengebruik
    • swpd : Totale hoeveelheid virtueel geheugen (swapruimte)
    • vrij : Beschikbare ruilruimte
    • bleek : De hoeveelheid swapruimte die wordt gebruikt als tijdelijk buffergeheugen
    • cache : Totaal cachegeheugen
  • ruil : Statistieken over de swapruimte
    • Ja : Snelheid van inwisselen
    • Dus : Snelheid van uitwisselen
  • dit : I/O-statistieken
    • met een : Aantal blokken ontvangen van het/de blokapparaat(en)
    • zijn : Aantal blokken verzonden naar blokapparaat(en)
  • systeem : Statistieken over planning
    • in : Aantal systeemonderbrekingen
    • cs : Snelheid van contextwisselingen
  • CPU : Verschillende CPU-statistieken
    • ons : CPU besteedt tijd aan niet-kernelprocessen
    • En : CPU besteedt tijd aan kernelprocessen
    • ID kaart : CPU besteedt tijd aan stationair draaien
    • van : CPU besteedt tijd aan wachten tot I/O-bewerkingen zijn voltooid
    • st : CPU-tijd gebruikt door een virtuele machine

De weergave-eenheid wijzigen

Standaard rapporteert “vmstat” de geheugenwaarden in kilobytes. Om de eenheid te wijzigen, gebruikt u de “ -S vlag:

$ vmstat -S < argument >

Hier drukt “vmstat” de waarden af ​​in megabytes.

Er zijn verschillende geheugeneenheden beschikbaar:

  • M : 1048576 bytes (2^20 bytes)
  • M : 1000000 bytes (1000 kilobyte)
  • K : 1024 bytes (1 megabyte)
  • k : 1000 bytes (1 kilobyte)

Continue statistiekenupdate

Standaard drukt “vmstat” het rapport één keer af. We kunnen “vmstat” echter de opdracht geven om met een bepaald tijdsinterval (in seconden) continue rapporten te leveren.

De commandostructuur is als volgt:

$ vmstat < vertraging >

Om bijvoorbeeld elke 2 seconden de bijgewerkte statistieken te krijgen, is de opdracht als volgt:

$ vmstat 2

De uitvoer stopt niet tenzij deze handmatig wordt beëindigd met 'Ctrl + C'.

Als alternatief kunnen we “vmstat” specificeren om de statistieken voor een specifiek aantal keren te verstrekken:

$ vmstat < vertraging > < graaf >

Om de bijgewerkte statistieken bijvoorbeeld vijf keer elke twee seconden te krijgen, ziet de opdracht er als volgt uit:

$ vmstat 2 5

Actief en inactief geheugen

Actief geheugen verwijst naar de geheugenruimte die momenteel door een proces wordt gebruikt. Aan de andere kant verwijst inactief geheugen naar de geheugenruimte die is toegewezen aan een proces dat niet langer actief is.

Met behulp van “vmstat” kunnen we de hoeveelheid actieve en inactieve herinneringen controleren die worden gebruikt:

$ vmstat -A

Hier worden de kolommen “buff” en “cache” vervangen door respectievelijk de kolommen “inact” en “actief”.

Geheugen en planning

Gebruik de volgende opdracht om een ​​gedetailleerder rapport over geheugen en planning te krijgen:

$ vmstat -S

Hier:

  • Sectie 1: Deze sectie behandelt de basissysteeminformatie zoals totaal fysiek geheugen, actief/inactief geheugen, vrij/buffer/cachegeheugen, enz.
  • Sectie 2: Diverse CPU-statistieken
    • Niet-leuke CPU-tikken : Hoe vaak de processen met hoge prioriteit de CPU gebruikten.
    • Leuke CPU-tikjes : het aantal keren dat de processen met lagere prioriteit de CPU gebruikten.
    • Systeem-CPU tikt : Het aantal keren dat de kernelprocessen de CPU gebruikten.
    • Inactieve CPU tikt : Het aantal keren dat de CPU inactief is geweest.
    • IO-wait CPU tikt : het aantal keren dat de CPU wacht op I/O-beheer.
    • IRQ : het aantal keren dat de CPU de interruptverzoeken heeft ontvangen.
    • zacht : het aantal keren dat de CPU de software-interruptverzoeken heeft ontvangen.
    • gestolen CPU-tekens : het aantal keren dat VM's de CPU-tijd hebben gestolen.
  • Sectie 3: Statistieken van geheugenoproep
  • Sectie 4: Gebeurtenistellers

Vorken sinds Boot

Forks verwijzen naar processen die voortkomen uit bestaande processen. Voer de volgende opdracht uit om de statistieken over het aantal vorken te verkrijgen:

$ vmstat -F

Schijf- en partitiestatistieken

De opdracht 'vmstat' kan ook informatie geven over schijfactiviteit. Voer de volgende opdracht uit om een ​​snel overzicht van de schijfactiviteit te krijgen:

$ vmstat -D

Om een ​​gedetailleerder schijfactiviteitsrapport te krijgen (inclusief lees-/schrijfstatistieken), gebruikt u in plaats daarvan de volgende opdracht:

$ vmstat -D

Hier:

  • Leest
    • totaal : Totaal aantal gelezen schijfjes
    • samengevoegd : Totaal aantal groepslezingen
    • sectoren : Totaal aantal gelezen sectoren
    • Mevr : Totale hoeveelheid tijd om de gegevens van de schijf te lezen (in milliseconden)
  • Schrijft
    • totaal : Totaal aantal schijfschrijfacties
    • samengevoegd : Totaal aantal schrijfacties van de groep
    • sectoren : Totaal aantal geschreven sectoren
    • Mevr : Totale hoeveelheid tijd om naar de schijf te schrijven (in milliseconden)
  • IO
    • neerzetten : Totaal aantal huidige schijflees-/schrijfbewerkingen
    • sec : hoeveelheid tijd besteed aan lopende lees-/schrijfbewerkingen (in seconden)

De opdracht “vmstat” kan ook rapporten genereren voor een specifieke schijfpartitie. Gebruik de volgende opdrachtstructuur om het partitierapport op te halen:

$ vmstat -P < partitie_identificatie >

Plaatstatistieken

Plaattoewijzing is ontworpen als een efficiënt mechanisme voor de geheugentoewijzing van de objecten. Vergeleken met eerdere mechanismen biedt slab-allocatie een vermindering van geheugenfragmentatie (veroorzaakt door geheugenallocatie en deallocatie).

Om de plaatstatistieken van het systeem te controleren, gebruikt u de volgende “vmstat”-opdracht:

$ sudo vmstat -M

Houd er rekening mee dat er root-toestemming vereist is om de statistieken te bekijken.

Hier:

  • Cache : Naam van de gegevens in de cache
  • op een : Aantal objecten dat actief is in de Num-cache
  • Totaal : Totaal aantal objecten in een bepaalde cache
  • Maat : Grootte van de in de cache opgeslagen objecten
  • Pagina's : Aantal geheugenpagina's die de in de cache opgeslagen objecten bevatten

Conclusie

In deze handleiding hebben we de verschillende manieren laten zien waarop u de opdracht 'vmstat' kunt gebruiken. Naast virtueel geheugen kan “vmstat” ook rapporteren over schijfstatistieken, forks, slabs en meer.

Wilt u meer weten over andere systeemmonitoringtools? Leer meer over htop , doden , ps , enz.

Veel computerplezier!