Lavorando in ambienti UNIX/Linux lo strumento fondamentale per visualizzare lo stato dei processi è il programma`top`. Lanciato da riga di comando, top produce un output suddiviso in due aree fondamentali: in testa vengono mostrate informazioni generali sul sistema, mentre lungo tutta l’area sottostante sono elencati i processi che consumano più CPU.
Nella prima area vengono riportate le seguenti informazioni:
- ora corrente del server
- tempo di attività del server (uptime)
- numero di utenti loggati
- carico medio di sistema ogni minuto, ogni 5 minuti e ogni 15 minuti
Inoltre sono presenti informazioni sui processi, sul processore, sulla memoria e la swap. Ci si deve sempre accertare che non siano presenti processi zombie (che riducono le prestazioni della macchina) e che la swap usato sia nulla oppure molto bassa, in caso contrario significa che il server è in difetto di RAM.
La seconda area è suddivisa in colonne, che mostrano rispettivamente:
- numero del processo (PID)
- nome dell’utente proprietario del processo (USER)
- priorità del processo (PR)
- valore di nice (NI)
- utilizzo del processore (%CPU)
- utilizzo della memoria (%MEM)
- stato del processo (S)
- comando utilizzato per avviare il processo (COMMAND)
Il programma `top` accetta una serie di comandi interattivi, che possono essere lanciati premendo un determinato tasto. Ad esempio:
- k + [pid del processo] = termina il processo.
- r + [pid del processo] = modifica il valore nice di un processo, ovvero la sua priorità in un range che va da -20 (massima priorità) a 19 (minima priorità). In altre parole, assegnando un valore di nice inferiore a quello corrente migliora le prestazioni di esecuzione del processo.
- f = permette di aggiungere o togliere alcuni campi nella tabella processi.
- s = permette di modificare il tempo di refresh, ovvero il tempo che intercorre tra un aggiornamento e l’altro dei valori visualizzati.
- q = provoca l’uscita dal programma `top`.
Per informazioni più dettagliate consultate la pagina di man del programma `top` lanciando il comando `man top`