Ecco una serie di consigli utili per oggi che probabilmente rimarranno nel tuo arsenale per sempre.
Come amministratore di sistema Linux a volte è difficile visualizzare solo ciò che sta causando un problema di prestazioni. Certo, è abbastanza facile vedere quale processo sta monopolizzando la CPU con strumenti come "top" o il suo fratello più elaborato, htop. Quando si tratta di capire il carico a lungo termine su una macchina o capire quanta memoria e larghezza di banda di rete viene utilizzata può essere un po' più difficile se non si è a conoscenza degli strumenti disponibili.
Monitoraggio CPU e memoria con (h)top
Usa il pulsante F6 in htop per ordinare per CPU o memoria, ecc.

Analisi di CPU, memoria e I/O su disco in un tempo misurato
Per analizzare il carico medio di CPU, memoria e I/O del disco in un periodo di tempo misurato, utilizzare lo strumento vmstat. È brutto rispetto a htop, ma una volta compreso il display può essere molto efficace nel capire cosa sta succedendo con il sistema tranne l'utilizzo della rete. Tieni inoltre presente che i server guest virtualizzati potrebbero non fornire i valori reali di CPU e I/O poiché questi possono variare dinamicamente in base alle impostazioni dell'hypervisor.
Come in alto, vmstat è quasi onnipresente nella disponibilità per ogni versione di Linux. Vmstat normalmente accetta due argomenti:il tempo di campionamento e il numero di campioni da misurare. Quindi, ad esempio, in esecuzione
vmstat 1 100
Farà un campione ogni secondo ed eseguirà il campione 100 volte. Per impostazione predefinita vmstat ti mostrerà l'output del carico della CPU, della memoria/swap e dell'I/O del blocco, quando esegue i suoi 100 campioni, ti darà le medie sui campioni di tempo per, in questo caso 100 secondi. Se si desidera eseguire vmstat continuamente, utilizzare 0 come numero di esempio. Maggiori informazioni sulla sintassi e sull'output di vmstat sono disponibili qui (o usa man vmstat).
Infine, come alternativa basata su testo, puoi creare questa funzione nel tuo .bashrc o in uno script di shell, questo ti consentirà di eseguirla a intervalli usando il comando at o pianificare con cron o forse combinarla con un altro script per fare ulteriori analisi su tempo.
memcpu() { echo “— I 10 migliori processi di consumo della CPU —“; ps auxf | ordina -nr -k 3 | head -10;
echo “— Primi 10 processi di consumo della memoria —“; ps auxf | ordina -nr -k 4 | testa -10; }
Analisi rapida dell'utilizzo della rete
Il monitoraggio dell'utilizzo della rete è probabilmente importante quanto la CPU e la memoria. La quantità di strumenti integrati che lo fanno varia tra le distribuzioni. C'è una moltitudine di strumenti che puoi installare tramite yum o apt-get nelle rispettive distribuzioni. Puoi provare ntop o nmon. Oggi esamineremo nload. Sebbene ntop si autodefinisca il comando "top" del networking, è uno strumento basato sul Web che, sebbene buono, non è così semplice da avviare come nload. Per eseguire nload è sufficiente eseguirlo senza alcun argomento e visualizzerà il carico sull'interfaccia di rete corrente.

Nload fa proprio quello che dice sulla latta. L'analisi storica rende facile vedere quanto sia occupata la rete, sfortunatamente questo non ti mostrerà quale applicazione sta causando il carico, ma ci sono app che possono aiutare anche lì come l'eccellente app nethogs. Sembra e funziona proprio come i processi che mostrano i primi in base al nome e ordinati in base all'ordine di quale processo sta consumando più larghezza di banda.

In conclusione e ulteriori opzioni
Quello che ho dimostrato qui sono alcuni ottimi strumenti di analisi rapidi per tirarti fuori da un problema potenzialmente difficile da diagnosticare. Se hai bisogno di un'analisi a lungo termine di quasi tutti gli aspetti misurabili, dovresti cercare qualcosa come nagios e combinarlo con rrdtool per rappresentare graficamente l'analisi delle tendenze storiche. Guarda cacti (rrd graphing) e munin (una specie di nagios + rrdtool + cacti in un unico pacchetto semplice).