mercoledì 6 ottobre 2010

Come tenere le risorse di sistema sotto controllo


La riga di comando può spaventare, specialmente i neofiti di Linux ma con dei semplici comandi passati da shell si possono scoprire molte informazioni utili sul proprio sistema.


Ci sono vari strumenti da linea di comando questi sono:


TOOL
DESCRIPTION
top Mostra l'uso della CPU, memoria e spazio di swap assieme a una lista di processi
vmstat Mostra statistiche di memoria e CPU in forma tabellare
ps Mostra l'attività dei processi è dotato di numerose opzioni per visualizzare i processi in dettaglio
du Mostra lo spazio su disco usato dai file
df Mostra lo spazio libero di ciascun filesystem montato
lsof Mostra i descrittori di file aperti
/proc Non è un comando, è una directory. Qui viene montato il filesystem proc per
permettere di visualizzare molte delle strutture interne del kernel. La maggior
parte delle informazioni è molto a basso livello; i programmi elencati in questa
tabella forniscono una sintesi molto più utile dei dati che si possono trovare qui.                                                                                

Se diamo top da terminale questo è quello che vedremo


La parte superiore dello schermo(mostrata nell’immagine con note qui sotto) mostral’uso complessivo delle risorse. Noterete che al momentodella cattura dell’immagine la macchina era molto carica,con la CPU che lavorava senza tregua e con molta pocamemoria libera. La parte inferiore dello schermo mostra
i processi, ordinati in base a una colonna a scelta.

Normalmente top li ordina in base alla percentualedi CPU usata, ma è possibile cambiare l’ordinamento.Ci vuole un po’ di pazienza per abituarsi alla struttura
di comandi usata da top, dato che accetta una seriedi comandi formati da una singola lettera. Potetecominciare battendo h per ottenere un rapido sommario
dei comandi disponibili, oppure potete leggerela pagina di manuale, che è molto approfondita anchese un po’ concisa. Potete, per esempio, cambiare l’intervallo
di aggiornamento dello schermo, visualizzare o menole varie colonne, selezionare la colonna su cui vieneeseguito l’ordinamento e il metodo di ordinamento,
mostrare solo i processi di un utente specifico e molto altro. Molte opzioni di top, oltre che con questi comandi a lettera singola, possono essere specificate come
parametri sulla riga di comando ed è anche possibile inserirle in un file di configurazione in modo da salvarle per le successive esecuzioni del comando. E un attimo prima che qualche amministratore di sistemi cresciuto su Windows si lamenti perché non è possibile cliccare sulle colonne per modificare l’ordinamento, vi ricordo che top è un’applicazione pensata per i terminali
e non ha bisogno di un desktop grafico, cosa che la rende perfetta per essere usata sui server. Un altro strumento a riga di comando per esaminare
l’utilizzo delle risorse è VMstat (un’abbreviazione di virtual memory statistics). È un comando molto vecchio: ricordo di averlo usato sulle prime versioni di SunOS,
anche se all’epoca avevo le idee ancora meno chiare di adesso sul significato dei numeri che stampava! La prima riga prodotta da VMstat mostra i valori medi
e probabilmente andrebbe ignorata. Le rimanenti righe sono generate a intervalli di tempo prefissati, nell’esempio ogni cinque secondi. La difficoltà nell’interpretare i dati prodotti da comandi come questo sta nel decidere quando
si tratta di buone notizie, quando di cattive notizie e quando invece sono solo, beh, notizie. Per esempio, valori alti nelle colonne ‘si’ e ‘so’ indicano un pesante swap e potrebbero suggerire che siete a corto di memoria, mentre l’attività
di I/O su disco indicata nelle colonne ‘bi’ e ‘bo’ mostra solamente che la macchina sta accedendo ai suoi filesystem.

Un’altra importante misura dell’uso delle risorse è lo spazio su disco. Il tool a riga di comando df è utilissimo per visualizzare quanto spazio è libero e se si sta riducendo, mentre du è molto comodo per scoprire dove è andato
a finire! df visualizza lo spazio usato e lo spazio libero per ciascun filesystem montato. L’opzione -h, che io uso sempre, modifica l’output in modo da usare
unità di misura dello spazio su disco più comprensibili
ai comuni mortali,

se invece volete avere un elenco di file che superano un determinato spazio tipo 200 MB potete dare
sudo find / -size +200M

non è tutto ma almeno sono i comandi di uso comune.

Nessun commento:

Posta un commento