Grazie alle potenzialità del terminale Linux, possiamo usufruire di strumenti che ci consentono di tenere d'occhio le prestazioni del computer. Questa volta parleremo del comando vmstat e imparerai anche come usarlo con alcuni esempi.
In poche parole, il vmstat
Il comando fornisce informazioni sulla memoria virtuale del computer.
Cos'è la memoria virtuale?
In quanto memoria virtuale, non dobbiamo intenderla come un modulo aggiuntivo di cui dispone il nostro computer ma come una tecnica di gestione della memoria del computer, il cui utilizzo risiede nell'uso congiunto della memoria principale del sistema e della nostra unità di archiviazione, come un disco rigido .
Quindi non è altro che un trucco utilizzato dal sistema per utilizzare parte della nostra memoria come modulo di memoria aggiuntivo. Qualcosa come lo scambio di Linux.
Poiché questo spazio viene utilizzato, può avere un impatto sulla velocità del computer perché la RAM sarà sempre più veloce di altri tipi di archiviazione.
Quindi, grazie alle incredibili potenzialità del terminale Linux, possiamo monitorarlo in modo semplice e veloce, e tutto grazie al comando vmstat.
Il comando vmstat
Il vmstat
comando viene utilizzato nei sistemi operativi UNIX, fornisce dati sulla memoria virtuale, fornisce informazioni su processi, memoria, paging, blocco I/O, trap e attività della CPU.
Il primo rapporto prodotto fornisce le medie dall'ultimo riavvio. Rapporti aggiuntivi forniscono informazioni su un periodo di campionamento della durata del ritardo. I rapporti di processo e di memoria sono istantanei in entrambi i casi.
La sintassi di base del comando vmstat è la seguente
vmstat [options] [delay [count]]]
Per impostazione predefinita, il comando arriva a fornire un singolo rapporto ma possiamo modificarlo con le opzioni e impostando un tempo di aggiornamento.
Utilizzo del comando vmstat
Se esegui il comando senza opzioni o parametri, otterrai una schermata di output simile a questa
vmstat
Uscita:
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 114432 212660 76392 650036 0 4 60 97 579 155 16 6 77 2 0
Dove noterai subito che è diviso in alcune sezioni insieme ad alcuni valori.
Nelle procedure sezione sono i processi di sistema e questi due indicatori
- r:il numero di processi eseguibili (in esecuzione o in attesa di esecuzione).
- b:il numero di processi bloccati in attesa del completamento dell'I/O.
Poi, abbiamo la Memoria sezione che esamina la memoria virtuale stessa:
- swpd:la quantità di memoria di scambio utilizzata.
- libero:la quantità di memoria inattiva.
- buff:la quantità di memoria utilizzata come buffer.
- cache:la quantità di memoria utilizzata come cache.
Come puoi vedere, questi sono semplici valori e informazioni.
Segui lo Scambio sezione:
- si:quantità di memoria scambiata dal disco (/s).
- so:quantità di memoria scambiata su disco (/s).
Segue immediatamente Input/Output sezione:
- bi:blocchi ricevuti da un dispositivo a blocchi (blocchi/i).
- bo:blocchi inviati a un dispositivo a blocchi (blocchi/i).
Il prossimo è il Sistema sezione:
- in:il numero di interruzioni al secondo, incluso l'orologio.
- cs:il numero di cambi di contesto al secondo.
Infine, c'è la CPU sezione:
- us:tempo dedicato all'esecuzione di codice non kernel. (tempo dell'utente, compreso il tempo piacevole)
- sy:tempo impiegato per eseguire il codice del kernel. (ora di sistema)
- id:tempo trascorso inattivo.
- wa:tempo trascorso in attesa di IO.
- st:tempo rubato da una macchina virtuale.
Alcuni esempi
Sebbene il comando vmstat sia così facile da usare, è possibile ottenere molto da esso, quindi ecco alcuni esempi.
Aggiunta di un intervallo di tempo
È possibile ottenere valori e risultati aggiungendo un tempo di rinfresco che possiamo definire. Per impostazione predefinita, il tempo è espresso in secondi.
Ad esempio, per ricevere rapporti ogni 3 secondi puoi eseguire
vmstat 3
Quando esegui il comando con un intervallo di tempo, otterrai rapporti infiniti. Per interrompere il comando premi CTRL + C
chiavi.
Intervallo di tempo con un limite
Ma puoi modificare questo comportamento e aggiungere un altro parametro che stamperà un numero definito di rapporti.
vmstat 3 2
In questo caso verranno stampati due rapporti a intervalli di 3 secondi.
Rendere il rapporto più leggibile
Per impostazione predefinita, i valori mostrati da vmstat
sono espressi in blocchi. Puoi cambiarlo in Mb o Kb usando il -S
opzione.
Per ottenere espressioni in Kb, usa dopo il -S
opzione la lettera K o k .
vmstat 3 2 -S K
E poi otterrai l'output sullo schermo espresso in Kb.
Nel caso di Mb, puoi utilizzare le lettere M e io
vmstat 3 2 -S M
E in questo modo possiamo facilmente comprendere ancora di più i report generati.
Conclusione
Un terminale è uno strumento incredibile e in Unix ci sono comandi per tutto. In questo caso, ti abbiamo presentato un comando per monitorare l'utilizzo della memoria virtuale. Questo tipo di comando ci aiuta a non perdere nulla del nostro computer. Gli amministratori di sistema apprezzano questo tipo di comando che non consuma risorse e fornisce informazioni utili.
Maggiori informazioni:documentazione vmstat