GNU/Linux >> Linux Esercitazione >  >> Linux

Comandi Linux:esplorare la memoria virtuale con vmstat

Ci sono molti comandi, strumenti e varianti dei due da mettere in pratica quando si tratta di statistiche di sistema in Linux. Tuttavia, se hai bisogno delle specifiche sulla memoria virtuale, puoi usare vmstat .

Che cos'è?

Reporter di statistiche sulla memoria virtuale, noto anche come vmstat , è uno strumento da riga di comando di Linux che riporta vari bit di informazioni di sistema. Cose come memoria, paging, processi, IO, CPU e pianificazione del disco sono tutte incluse nella serie di informazioni fornite.

Quando esegui vmstat , tieni presente che il primo rapporto è una media delle informazioni richieste dal momento dell'ultimo riavvio. I rapporti successivi utilizzano misurazioni di ritardo e conta . Li tratterò specificamente durante la discussione sulla sintassi.

Sintassi dei comandi

La sintassi per vmstat il comando è piuttosto semplice:

$ vmstat [opzioni][ritardo [conteggio]]

  • Opzioni:queste sono trattate in dettaglio nella sezione seguente.
  • Ritardo - definisce l'intervallo di tempo tra gli aggiornamenti. Se non viene specificato alcun ritardo, il rapporto viene eseguito come media dall'ultimo riavvio.
  • Conteggio:definisce il numero di aggiornamenti stampati dopo l'intervallo di ritardo specificato. Se non è impostato alcun conteggio, il valore predefinito è un numero infinito di aggiornamenti ogni x secondi (dove x =ritardo).

Output di base e come dargli un senso

La forma più semplice di questo comando non utilizza alcuna opzione. Ecco lo standard output e come leggerlo:

[tcarrigan@rhel ~]$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 6012852   2120 817048    0    0  2805   289  797  657 21  7 71  1  0

Vengono visualizzate informazioni su processi, memoria, scambio, IO, sistema e CPU. La pagina man del comando afferma quanto segue (man vmstat ):

- Procs
     - r: The number of runnable processes (running or waiting for run times)
     - b: The number of processes in uninterruptible sleep. 
 - Memory
     - swpd: the amount of virtual memory used. 
     - free: the amount of idle memory
     - buff: the amount of memory used as buffers
     - cache: the amount of memory used as cache. 
     - inact: the amount of inactive memory. (-a option)
     - active: the amount of active memory. (-a option)
 - Swap
     - si: Amount of memory swapped in from disk (/s). 
     - so: Amount of memory swapped to a block device (/s). 
 - IO
     - bi: Blocks received from a block device (blocks/s). 
     - bo: Blocks sent to a block device (blocks/s). 
 - System
     - in: The number of interrupts per second, including the clock. 
     - cs: The number of context switcher per second. 
 - CPU
     - These are percentages of total CPU time. 
     - us: Time spent running non-kernel code. (user time, including nice time)
     - sy: Time spent running kernel code. (system time)
     - id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time. 
     - wa: Time spent waiting for IO.  Before Linux 2.5.41, included in idle.
     - st: Time stolen from a virtual machine.  Prior to Linux 2.6.11, unknown.

Tra le informazioni importanti qui, trovi la quantità di memoria libera sul sistema, nonché la quantità di attività di scambio che stai attualmente riscontrando.

Opzioni da sapere

Il -a opzione ci darà la memoria attiva e inattiva del sistema:

[tcarrigan@rhel ~]$ vmstat -a
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 6022104 609656 1185980    0    0   180    40   80   79  1  1 98  0  0

Il -f l'opzione ci darà il numero di fork dall'avvio:

[tcarrigan@rhel ~]$ vmstat -f
         2911 forks

Nota che un fork è qualsiasi processo che genera un altro processo rimanendo attivo.

Il -s l'opzione visualizza varie statistiche sulla memoria e contatori di eventi CPU e IO:

[tcarrigan@rhel ~]$ vmstat -s 
      8161656 K total memory
      1216012 K used memory
      1186276 K active memory
       609632 K inactive memory
      6021980 K free memory
         2120 K buffer memory
       921544 K swap cache
      3145724 K total swap
            0 K used swap
      3145724 K free swap
         5888 non-nice user cpu ticks
          476 nice user cpu ticks
         1520 system cpu ticks
       529965 idle cpu ticks
          331 IO-wait cpu ticks
          939 IRQ cpu ticks
          103 softirq cpu ticks
            0 stolen cpu ticks
       755494 pages paged in
       167719 pages paged out
            0 pages swapped in
            0 pages swapped out
       365026 interrupts
       374126 CPU context switches
   1590618807 boot time
         2952 forks

Il -d l'opzione fornisce statistiche di lettura/scrittura per vari dischi:

[tcarrigan@rhel ~]$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
sda    17019     40 1498524   10680   4683   1050  335510    1561      0     10
sdb      105      0    6232      67      0      0       0       0      0      0
sdc      105      0    6232      59      0      0       0       0      0      0
sr0        0      0       0       0      0      0       0       0      0      0
dm-0   16677      0 1469065   12431   5713      0  336816    2485      0     10
dm-1      98      0    4440      39      0      0       0       0      0      0

Il -t l'opzione ci fornisce informazioni sul timestamp con ogni aggiornamento, visualizzate qui:

[tcarrigan@rhel ~]$ vmstat -t 5 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- -----timestamp-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st                 EDT
 1  0      0 6021412   2120 921548    0    0   118    26   62   66  1  0 99  0  0 2020-05-27 19:00:11
 0  0      0 6021300   2120 921548    0    0     0     0  349  510  1  0 99  0  0 2020-05-27 19:00:16
 0  0      0 6021272   2120 921548    0    0     0     2  196  294  0  0 100  0  0 2020-05-27 19:00:21
 0  0      0 6021272   2120 921548    0    0     0     0  110  161  0  0 100  0  0 2020-05-27 19:00:26
 0  0      0 6021272   2120 921548    0    0     0     0  112  169  0  0 100  0  0 2020-05-27 19:00:31
 0  0      0 6021272   2120 921548    0    0     0     0  171  267  0  0 99  0  0 2020-05-27 19:00:36
 0  0      0 6021188   2120 921552    0    0     0     0  201  291  0  0 99  0  0 2020-05-27 19:00:41
 0  0      0 6021188   2120 921552    0    0     0     0  152  233  0  0 100  0  0 2020-05-27 19:00:46
 2  0      0 6021188   2120 921552    0    0     0     3  127  165  0  0 100  0  0 2020-05-27 19:00:51
 0  0      0 6021188   2120 921552    0    0     0     0   95  131  0  0 100  0  0 2020-05-27 19:00:56

Vedi che ci sono 10 aggiornamenti, stampati ogni cinque secondi, con allegate informazioni sul timestamp.

Inoltre, tieni presente che tutte le statistiche sulla memoria sono visualizzate in kilobyte per impostazione predefinita.

Riepilogo

Per concludere, diamo un'occhiata a ciò che abbiamo imparato. Il vmstat command è un potente strumento di statistiche di sistema che può essere utilizzato con o senza opzioni. Stampa gli aggiornamenti utilizzando due variabili principali (ritardo e conteggio) e possiamo personalizzare il comando e l'output in base alle nostre esigenze. Spero che questo sguardo al vmstat ti sia piaciuto comando. Tratterò ifstat in un prossimo articolo, quindi tienilo d'occhio!

[ Corso online gratuito:panoramica tecnica di Red Hat Enterprise Linux. ]


Linux
  1. Controlla i comandi e le attività con il comando watch di Linux

  2. Invia comandi a più sessioni SSH con Terminator

  3. Utilizzo della memoria di Linux

  4. Oltre 10 comandi VI Linux con esempi

  5. Come utilizzare la memoria condivisa con Linux in C

Comandi RPM in Linux con esempi

Comandi SSH in Linux con esempi di utilizzo

Tutorial Vagrant – Introduzione a Vagrant in Linux

Visualizza i cheatsheet dei comandi Linux con lo strumento Tealdeer

Una guida al comando vmstat in Linux

Utilizzo di vmstat per risolvere i problemi di prestazioni in Linux