GNU/Linux >> Linux Esercitazione >  >> Linux

Monitoraggio efficace della larghezza di banda, della CPU e della memoria della rete

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).


Linux
  1. Trova i migliori processi in esecuzione in base al massimo utilizzo di memoria e CPU in Linux

  2. Come trovare i migliori processi in esecuzione in base all'utilizzo di memoria e CPU

  3. 16 Utili strumenti di monitoraggio della larghezza di banda per analizzare l'utilizzo della rete in Linux

  4. Trova i 10 migliori processi in esecuzione per memoria e utilizzo della CPU

  5. Recuperare l'utilizzo della CPU e l'utilizzo della memoria di un singolo processo su Linux?

Come aumentare la memoria e la CPU sulla macchina Vagrant

Come trovare i 10 principali processi in esecuzione in base all'utilizzo di memoria e CPU

Come installare il monitoraggio della larghezza di banda di rete Iftop su Linux

Come trovare i migliori processi in esecuzione in base all'utilizzo di memoria e CPU in Linux

Introduzione al monitoraggio e all'ottimizzazione delle prestazioni di Linux

Limite di memoria e limite della CPU nel contenitore Docker