Questo tutorial descrive come visualizzare l'utilizzo della CPU dalla riga di comando utilizzando mpstat utilità. La maggior parte di noi usa top comando per mostrare l'utilizzo della CPU e i processi in esecuzione. Proprio come il comando top, mpstat mostra anche le attività di ciascun processore. Questa pratica utility può aiutarti a monitorare facilmente l'utilizzo della CPU in qualsiasi sistema operativo simile a Unix. Se hai un processore multi-core sul tuo sistema, mpstat è una scelta definitiva per visualizzare l'utilizzo di ciascun core del processore.
Visualizza l'utilizzo della CPU dalla riga di comando
mpstat è disponibile nei repository predefiniti dei più moderni sistemi operativi Linux.
Per installarlo su Arch Linux e i suoi derivati, esegui:
$ sudo pacman -S sysstat
Su RHEL, CentOS, Fedora :
$ sudo dnf install sysstat
Oppure,
$ sudo yum install sysstat
Su Debian, Ubuntu, Linux Mint :
$ sudo apt-get install sysstat
La sintassi tipica del comando mpstat è:
mpstat [ -P { cpu | ALL } ] [ -V ] [ interval [ count ] ]
Vediamo alcuni esempi in tempo reale.
Il modo rapido per controllare l'utilizzo della CPU è eseguire:
$ mpstat
Ecco l'output di esempio dal mio desktop Arch Linux:

Controlla l'utilizzo della CPU usando mpstat
Permettetemi di analizzare l'output di cui sopra e dirvi cosa fa ciascuna opzione.
- 02:18:23 - L'ora in cui esegui mpstat.
- tutti - Indica che le statistiche vengono calcolate come medie tra tutti i processori.
- %usr - Visualizza la percentuale di utilizzo della CPU che si è verificata durante l'esecuzione a livello di utente (applicazione).
- %bello - Visualizza la percentuale di utilizzo della CPU che si è verificata durante l'esecuzione a livello di utente con una buona priorità.
- %sys - Visualizza la percentuale di utilizzo della CPU che si è verificata durante l'esecuzione a livello di sistema (kernel).
- %iowait - Visualizza la percentuale di tempo in cui la CPU o le CPU sono rimaste inattive durante le quali il sistema ha ricevuto una richiesta di I/O del disco in sospeso.
- %irq - Visualizza la percentuale di tempo impiegata dalla CPU o dalle CPU per gestire gli interrupt hardware.
- %soft - Visualizza la percentuale di tempo impiegata dalla o dalle CPU per gestire gli interrupt software.
- %ruba - Visualizza la percentuale di tempo trascorso in attesa involontaria dalla o dalle CPU virtuali mentre l'hypervisor stava effettuando la manutenzione di un altro processore virtuale.
- %ospite - Visualizza la percentuale di tempo impiegata dalla CPU o dalle CPU per eseguire un processore virtuale.
- %gnice - Visualizza la percentuale di tempo impiegata dalla CPU o dalle CPU per eseguire un ospite gentile.
- %inattivo - Visualizza la percentuale di tempo in cui la CPU o le CPU sono rimaste inattive e il sistema non ha ricevuto una richiesta di I/O del disco in sospeso.
Come ho già detto nella sezione introduttiva, il comando mpstat visualizzerà le attività di tutti i core del processore. Se desideri visualizzare l'utilizzo della CPU di un core del processore specifico, ad esempio il primo core del processore, esegui:
$ mpstat -P 0
Per visualizzare il secondo core, esegui:
$ mpstat -P 1
Questo sarebbe utile se si dispone di una CPU multi-core. Si noti che il numero di core del processore inizierà da 0 (zero). Se hai una CPU quadcore, ogni core del processore sarà indicato come cpu0, cpu1, cpu2 e cpu3.

Visualizza l'utilizzo della CPU di un core di processore specifico utilizzando mpstat
Per visualizzare l'utilizzo della CPU di tutti i processori, utilizzare il comando seguente:
$ mpstat -P ALL

Visualizza l'utilizzo della CPU di tutti i processori utilizzando mpstat
Possiamo anche visualizzare le attività della CPU a intervalli specifici. Supponiamo, ad esempio, di visualizzare 5 rapporti a intervalli di 60 secondi (cioè 1 minuto), esegui il seguente comando:
$ mpstat 60 5
L'output di esempio sarebbe:

Visualizza le attività della CPU in intervalli specifici utilizzando mpstat
Lettura correlata:
- Come limitare l'utilizzo della CPU di un processo in Linux
Per visualizzare i dettagli degli interrupt ricevuti dalle CPU, eseguire:
$ mpstat -l ALL

Visualizza i dettagli degli interrupt ricevuti dalle CPU utilizzando mpstat
Le statistiche sugli interrupt sono tratte da /etc/interrupts file. Puoi verificarlo usando il comando 'tail' come di seguito:
$ tail /etc/interrupts
Puoi combinare sia gli interrupt che l'utilizzo della CPU di tutti i processori utilizzando -A opzione come di seguito.
$ mpstat -A

Visualizza gli interrupt e l'utilizzo della CPU di tutti i processori utilizzando mpstat
Per verificare la versione di mpstat, esegui:
$ mpstat -V
Per maggiori dettagli, fare riferimento alle pagine man.
$ man mpstat