Linux – Verificare le Prestazioni del Processore con Top

Top permette di ottenere numerose informazioni sulle prestazioni del processore, si tratta quindi di uno strumento molto utile disponibile su Linux.

La sintassi per avviare top è la seguente
top [-d intervallo] [-n iter] [-i] [-b]
-d intervallo – Specifica il tempo che deve passare tra gli aggiornamenti delle statistiche.
-n iter – Il numero di volte in cui le statistiche devono essere aggiornate prima che il programma termini.
-i – Specifica se devono essere mostrati i processi nello stato idle.
-b – Specifica l’esecuzione in modalità batch in cui vengono mostrati tutti i processi e non solo una schermata unica.

Durante l’esecuzione del programma è possibile diverse opzioni
A – Cambia la visualizzazione delle statistiche.
I – Specifica se l’utilizzo del processore deve essere diviso per il numero di processori del sistema.
f – Visualizza una schermata di configurazione che permette di selezionare le statistiche da mostrare.
o – Visualizza una schermata di configurazione che permette di modificare l’ordine in cui sono mostrate le statistiche.

[root@localhost ~]# top
top – 19:53:26 up 43 min,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  65 total,   1 running,  64 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.3%si,  0.0%st
Mem:    255336k total,   131148k used,   124188k free,     9804k buffers
Swap:   522104k total,        0k used,   522104k free,    76680k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
1835 root      16   0  2244  824  732 S  0.3  0.3   0:01.18 hald-addon-stor
2213 root      15   0  2168 1044  824 R  0.3  0.4   0:00.03 top
1 root      15   0  2032  676  576 S  0.0  0.3   0:02.24 init
2 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0
3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0
4 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/0
5 root      10  -5     0    0    0 S  0.0  0.0   0:00.02 events/0
6 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 khelper
7 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 kthread
10 root      10  -5     0    0    0 S  0.0  0.0   0:00.02 kblockd/0
11 root      20  -5     0    0    0 S  0.0  0.0   0:00.00 kacpid
70 root      18  -5     0    0    0 S  0.0  0.0   0:00.00 cqueue/0
73 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 khubd
75 root      10  -5     0    0    0 S  0.0  0.0   0:00.02 kseriod
133 root      22   0     0    0    0 S  0.0  0.0   0:00.00 pdflush
134 root      15   0     0    0    0 S  0.0  0.0   0:00.00 pdflush
135 root      17  -5     0    0    0 S  0.0  0.0   0:00.00 kswapd0

Le seguenti colonne mostrano informazioni relative alle prestazioni del processore
us – Tempo in cui il processore ha eseguito processi in user mode.
sy – Tempo in cui il processore ha eseguito processi in kernel mode.
ni – Tempo in cui il processore ha eseguito processi in user mode su cui la priorità è stata impostata usando nice.
id – Tempo nello stato idle.
wa – Tempo in attesa di I/O.
hi – Tempo nello stato irq che è utilizzato per gestire interrupt di priorità alta.
si – Tempo nello stato softirq che è utilizzato per gestire interrupt di priorità più bassa.
%CPU – Percentuale di processore utilizzata da un determinato processo.
PRI – Specifica la priorità di un processo.
NI – Il valore di nice di un processo. Un valore più elevato indica una priorità più bassa.
WCHAN – Specifica la funzione del kernel relativa ai processi in attesa di I/O.
TIME – Il totale di tempo che il processo ha utilizzato da quando è stato avviato.
COMMAND – Il comando che il processo sta eseguendo.
S – Lo stato del processo. Il valore può essere uno dei seguenti
S – Sleeping
R – In esecuzione
Z – Processo in attesa di terminare
D – Uninterruptable sleep.
T – Traced.

Top permette di capire quali sono i processi che stanno utilizzando maggiormente il processore e offre quindi la possibilità di individuare e risolvere eventualiproblemi.