Comando top in Linux: monitorare CPU, memoria e processi
top aggiorna periodicamente l’uso della CPU, della memoria e lo stato dei processi. È uno strumento interattivo utile per individuare le attività che consumano risorse quando un server rallenta.
La parte superiore presenta un riepilogo del sistema; sotto compaiono i valori dei singoli processi. Osserva più aggiornamenti per distinguere un picco occasionale da un comportamento persistente. Per chiudere la schermata premi q.
Sintassi di base
top [opzioni]
La guida si riferisce a procps-ng su Linux. Implementazioni e opzioni possono variare: verifica man top nella tua installazione. Per l’uso interattivo apri un terminale; per un’istantanea senza interazione usa la modalità batch descritta sotto.
Esempi pratici
Aprire la vista aggiornata
Durante l’esecuzione premi P maiuscola per ordinare per CPU e M maiuscola per memoria. Confronta alcuni aggiornamenti e premi q per uscire. Questi tasti vanno premuti dentro top, non digitati come comandi della shell.
top
Osservare un PID specifico
Il PID è l’identificatore del processo. Sostituisci 1234 con quello che hai trovato, per esempio con ps. La vista permette di concentrarsi sulle variazioni di quel processo.
top -p 1234
Se il processo termina, il PID non rappresenta una prenotazione permanente della stessa attività: prima di intervenire verifica nuovamente il bersaglio.
Stampare una sola iterazione
-b attiva l’output batch e -n 1 limita l’esecuzione a una schermata, poi termina. È utile quando serve testo anziché una sessione interattiva. Il risultato rappresenta una rilevazione, non un monitoraggio prolungato.
top -b -n 1
Quali valori leggere per primi
In alto trovi il carico medio e il riepilogo di CPU e memoria; nella tabella sottostante compaiono PID, uso della CPU e memoria per processo. Per vedere soltanto le prime otto righe dell’output batch:
top -b -n 1 | head -n 8
Schema illustrativo della schermata: i puntini sono segnaposto, non valori misurati. Le otto righe selezionate possono mostrare solo il riepilogo; non garantiscono la presenza della tabella dei processi.
top - ... load average: ...
Tasks: ... total, ... running
%Cpu(s): ... us, ... sy, ... id
MiB Mem : ... total, ... free, ... used
PID USER %CPU %MEM COMMAND
load average riporta medie su 1, 5 e 15 minuti: non è una percentuale di CPU. Nella riga CPU, us riguarda il tempo dei processi utente senza priorità nice modificata, sy il kernel e id il tempo inattivo. Nella tabella, %MEM esprime la quota di memoria fisica residente del processo.
Non diagnosticare un problema dal solo %CPU: considera durata, ruolo dell’attività e variazioni fra aggiornamenti. Unità, colonne e disposizione dipendono da implementazione e configurazione. In particolare, il poco spazio indicato come free non basta da solo a dimostrare che la memoria sia esaurita.
Su Windows, nell’ambiente Git Bash disponibile per questa verifica, top non è installato. I quattro esempi eseguibili hanno superato il controllo sintattico di Bash, ma schermata, percentuali e tasti interattivi non sono stati provati su un sistema Linux.
Opzioni principali
| Opzione | Funzione |
|---|---|
-p PID |
Limita l’osservazione al PID indicato. |
-d secondi |
Imposta l’intervallo fra gli aggiornamenti. |
-b |
Usa la modalità batch, senza input interattivo. |
-n numero |
Limita il numero di iterazioni prima dell’uscita. |
Per esempio, top -d 2 richiede aggiornamenti ogni due secondi; -d regola l’intervallo, mentre -n conta le iterazioni. In modalità batch non affidarti al tasto q: usa un limite -n per una raccolta finita.
Precauzioni nell’interpretazione e nei comandi
I valori iniziali di CPU e tempo accumulato dipendono dal momento osservato e dal metodo di calcolo. Non trattare la prima schermata come la media di un intervallo di monitoraggio. Osserva più aggiornamenti prima di confrontare attività diverse.
In modalità Irix, con processi multithread su più CPU, procps-ng può mostrare un valore superiore al 100%. La normalizzazione cambia fra le modalità Irix e Solaris; il tasto I le alterna. Un valore oltre 100% non significa automaticamente che la misurazione sia errata.
q chiude soltanto top, senza terminare i processi osservati. Il comando interattivo k, invece, richiede un PID e un segnale da inviare: può influire sul processo bersaglio. Per una semplice osservazione non serve usarlo. Se apri quel prompt per errore, Esc annulla l’operazione.
Domande frequenti
Come si esce da top?
Premi q nella schermata interattiva. È un comando interno di top, non della shell, e lascia in esecuzione i processi che stavi osservando. L’esempio batch con -n 1 termina invece automaticamente dopo una schermata.
Documentazione di riferimento
Per opzioni, campi e differenze di visualizzazione consulta il manuale top(1) di procps-ng e confrontalo con la documentazione della versione installata.




