Una guida al comando top in Linux
Il comando atop è uno strumento per monitorare le risorse di sistema in Linux. Visualizza tonnellate di informazioni relative alla quantità di carico sulle risorse del sistema a livello di processo. Ci possono essere vantaggi indefiniti per l'utente se questa utilità è padroneggiata.
Per prima cosa, dobbiamo installare il comando atop sul sistema. Gli utenti Debian/Ubuntu possono farlo:
sudo apt install atop
Altri utenti Linux possono usare il loro gestore di pacchetti standard, seguito dalla parola chiave atop
.
Questo comando ha la capacità di visualizzare più informazioni riservate relative al sistema. Per prevenire qualsiasi astrazione di dati, possiamo ottenere un accesso elevato usando sudo su
o sudo -s
. Abbiamo una documentazione completa su sudo.
Output di base del comando in cima
Per visualizzare tutto l'utilizzo a livello di processo delle risorse del sistema, possiamo semplicemente eseguire atop
nel terminale.
atop
Come possiamo vedere, l'intero layout è diviso in due pannelli. Il pannello superiore fornisce l'uso cumulativo delle risorse del sistema, mentre quello inferiore mostra informazioni disintegrate per ciascun processo. Vediamo ciascuno dei
Statistiche cumulative del comando in cima
Ogni voce in questa visualizzazione si concentra su una particolare risorsa di sistema.
1. Statistiche relative al processo
- PRC - sta per \processo.
- I primi due valori sono il tempo impiegato dai processi
sys
(sistema) euser
. - È seguito dal numero totale di processi come
#proc
. - Il valore successivo è il numero di thread attualmente in esecuzione nel sistema. (
#trun
) #tslpi
indica il numero di thread attualmente inattivi e interrompibili.#tslpu
indica il numero di thread attualmente inattivi e non interrompibili.- Il seguente valore è il numero di processi zombie.
- Il prossimo è il numero di chiamate di sistema clone.
- L'ultimo valore è il numero di processi terminati durante il tempo trascorso. (
#exit
)
2. Statistiche relative alle prestazioni
- CPU - si riferisce all'utilizzo della CPU.
- I primi due valori mostrano la percentuale di utilizzo di tutti i core da parte del sistema e dei processi utente.
- La percentuale di CPU utilizzata per le richieste di interrupt. (
irq
) - Il valore successivo è la percentuale di inattività per tutti i core combinati.
- Il seguente valore indica l'attesa che ogni core della CPU doveva fare.
- La prossima è la percentuale per il tempo rubato.
guest
denota la percentuale di guest, che è il tempo della CPU speso su altre macchine virtuali.- Gli ultimi due valori indicano la frequenza corrente della CPU.
- I primi tre valori sono i carichi medi con periodi diversi: 1, 5 e 15 minuti.
- Questo è seguito dal numero di cambi di contesto (
csw
) - Il prossimo è il numero di interruzioni (
intr
) - L'ultimo valore è il numero di CPU disponibili.
3. Statistiche relative alla memoria
- MEM - Utilizzo della memoria
- La memoria fisica totale supportata.
- La memoria attualmente libera.
- La memoria cache corrente.
-
buff
come in \buffer è la quantità di memoria consumata nei metadati del filesystem. - La somma della memoria per l'allocazione della memoria del kernel mostrata come
slab
. - La quantità di memoria condivisa.
SWP - Scambia memoria.
3. Statistiche relative al disco
- DSK - Utilizzo del disco
- Il primo valore indica la percentuale di tempo in cui il sistema è impegnato a gestire le richieste.
- Le richieste di lettura emesse.
- Le richieste di scrittura emesse.
- La velocità con cui i dati (in KB) vengono letti per richiesta di lettura.
- La velocità con cui i dati (in KB) vengono scritti per richiesta di scrittura.
- I due valori successivi sono i tempi di lettura e scrittura sul disco in Megabyte.
- L'ultimo valore è il numero medio di millisecondi spesi nella gestione delle richieste.
4. Statistiche relative alla rete
- NET - Statistiche di rete a livello di trasporto
transport
indica il livello di trasporto in Networking, che si occupa dei protocolli dei dati.- Il numero di segmenti ricevuti dal sistema seguendo il protocollo TCP. (
tcpi
) - Il numero di segmenti trasmessi. (
tcpo
) - Le statistiche simili per il protocollo UCP. (
udpi
per UDP in ingresso) e (udpo
per UDP in uscita). tcpao
è il numero di connessioni TCP aperte attive.- L'opposto del precedente
tcppo
è il numero di connessioni TCP passive, ma ancora aperte. - La cifra delle ritrasmissioni TCP come
tcprs
. - La cifra degli errori di input UDP come
udpie
.
rete
indica il livello di rete, che si occupa dei protocolli Internet, IPv4 e IPv6 combinati.- Il numero di pacchetti IP ricevuti dalle interfacce di rete. (
pipi
) - Il numero di pacchetti IP trasmessi dalle interfacce. (
ipo
) - La quantità di pacchetti IP inoltrati ad altre interfacce. (
ipfrw
) - La quantità di pacchetti IP consegnati. (
consegna
) - Le ultime due voci sono il numero di pacchetti ICMP ricevuti e trasmessi dalle interfacce di rete.
- Il primo valore è il nome dell'interfaccia di rete, come
wlp19s0
. - I due pacchetti seguenti sono il numero di pacchetti che sono stati ricevuti e trasmessi attraverso la particolare interfaccia. (
pcki
epcko
) - La velocità della rete in Megabit (Mbps) come
sp
. - La velocità con cui i bit vengono ricevuti e trasmessi al secondo. (
si
eso
) - Il numero di errori nei pacchetti ricevuti e trasmessi. (
erri
eerro
). - Gli ultimi due valori sono i pacchetti eliminati in entrambi i modi. (
drpi
edrpo
)
Questo conclude la spiegazione del pannello superiore del comando atop.
Risorse di sistema per ogni processo
Vale la pena notare che i valori nel comando
atop
continuano ad aggiornarsi dopo determinati intervalli di tempo.L'output generico del comando
atop
mostra i seguenti dettagli per ciascuna voce di processo:- PID - L'ID del processo.
- SYSCPU - La quantità di CPU consumata dal processo durante la gestione del sistema.
- USRCPU - La quantità di CPU consumata dal processo, durante la sua esecuzione in modalità utente.
- VGROW - La quantità di memoria virtuale occupata dal processo dall'ultimo aggiornamento del valore.
- RGROW - La quantità di memoria residente (fisica) aumentata dall'ultimo aggiornamento del valore.
- RDDSK - La dimensione dei dati trasferiti durante le letture del disco.
- WRDSK - La dimensione dei dati trasferiti durante le scritture su disco.
- RUID - L'ID utente reale con cui viene eseguito il processo.
- EUID - L'ID utente effettivo con cui viene eseguito il processo.
- ST - Lo stato corrente del processo.
- EXC - Il codice di uscita al termine del processo
- THR - Il numero di thread all'interno del processo.
- S - Lo stato corrente del thread principale del processo.
- CPU - La percentuale di utilizzo della CPU dell'intero processo.
- CMD - Il nome del processo.
In questo output generico, i processi vengono ordinati in base alla percentuale di utilizzo della CPU. Come possiamo vedere, in questo particolare output, otteniamo una piccola quantità di informazioni per ogni tipo di risorsa di sistema.
Proviamo a studiare le informazioni a livello di processo per ogni tipo di risorsa di sistema.
L'output basato sulla memoria del comando atop
Il comando
atop
offre l'opportunità di studiare il consumo di memoria per ogni processo in esecuzione nel sistema. Possiamo farlo eseguendo:atop -m
Come possiamo vedere, il pannello superiore rimane costante anche se abbiamo aggiunto l'opzione di memoria,
-m
. Cerchiamo ora di capire le colonne per ogni voce di processo.- PID - L'ID del processo.
- TID - L'ID del thread.
- MINFLT - Il numero di errori di pagina minori che sono stati risolti accedendo ai dati da pagine libere.
- MAJFLT - Il numero di errori di pagina principali che sono stati risolti soprattutto recuperando i dati dal disco.
- VSTEXT - La memoria virtuale occupata dal testo del processo.
- VSLIBS - La memoria virtuale occupata dalle librerie condivise del processo.
- VDATA - La dimensione della memoria virtuale dei dati privati del processo.
- VSTACK - La dimensione della memoria virtuale dello stack privato del processo.
- VSIZE - La dimensione totale della memoria virtuale del processo.
- RSIZE - La memoria residente totale occupata dal processo.
- MEM - La percentuale di RAM consumata dal processo.
I processi sono ordinati rispetto alla colonna
MEM
.Poiché
atop
è in qualche modo un'utilità di comando interattiva, possiamo modificare le colonne dall'interno. Tutto quello che dobbiamo fare è digitare l'opzione specifica mentre sta visualizzando le informazioni.Ad esempio, dopo aver eseguito
atop
sul terminale, possiamo passare all'output specifico della memoria semplicemente digitandom
.Output specifico del disco utilizzando il comando atom in Linux
Per estrarre informazioni relative all'utilizzo del disco, possiamo usare l'opzione
-d
insieme al comandoatop
.atop -d
Non ci sono molte cose da notare nell'output specifico del disco. Alcuni dei risultati chiave sono:
- RDDSK - La dimensione dei dati trasferiti durante le letture del disco.
- WRDSK - La dimensione dei dati trasferiti durante le scritture su disco.
- WCANCL - La dimensione dei dati inizialmente scritti, ma successivamente ritirati
- DSK - La percentuale di disco occupato.
- CMD - Il nome del processo.
Va notato che i processi sono ordinati in base alla colonna
DSK
.Trova i comandi in esecuzione in background con il comando in alto
Questo ci fornisce i comandi in esecuzione in background come processi in un formato di output della riga di comando.
atop -c
Se copi e incolli le righe sotto la colonna della riga di comando, puoi eseguire nuovamente lo stesso processo. Questo output ci dice esattamente quale comando è stato eseguito in background per avviare il processo.
Informazioni basate su thread
Invece di ispezionare semplicemente le informazioni sul processo, il comando
atop
fornisce la possibilità di verificare l'utilizzo delle risorse specifiche del thread. Per accedere a questo output possiamo eseguire:atop -y
oppure premi semplicemente il tasto
y
quando il comando sta già visualizzando le informazioni sulle risorse di sistema.È chiaro che nessuna delle colonne delle risorse di sistema è cambiata. Tutto ciò che è stato aggiunto è il numero di thread del rispettivo processo.
Informazioni varie
Esistono numerosi tipi di informazioni che possono essere estratte utilizzando il comando
atop
. Alcuni di quelli utili sono:1. Trova gli orari di inizio del processo
Usando l'opzione
-v
, possiamo ottenere le caratteristiche del processo.atop -v
2. Numero di processi per ciascun utente nel sistema
atop -au
3. Su quale nucleo sta lavorando un processo?
Questo tipo specifico di informazioni rientra nelle caratteristiche di pianificazione di un processo. È possibile accedervi utilizzando l'opzione
-s
.atop -s
Pochi trucchi in cima.
Ci sono alcuni trucchi del comando
atop
che potrebbero essere utili:- Mettere in pausa la schermata
in alto
- utilizzando il tastoz
. - Modifica dell'intervallo di tempo degli aggiornamenti dei valori - utilizzando il tasto
i
seguito dal numero di secondi, desideriamo modificarlo. - Interrompi per aggiornare istantaneamente i valori - usando il tasto
t
. - Uscire dal display - usando il tasto
q
.
Conclusione
Sappiamo che il comando
atop
può essere troppo da gestire per qualsiasi utente Linux. Ci vogliono pazienza e perseveranza per conoscere questo brillante comando. Per qualsiasi domanda, non esitare a contattarci nella sezione commenti.
- I primi due valori sono il tempo impiegato dai processi