il top
L'utility mostra l'utilizzo corrente della CPU per ogni procedura in esecuzione, ma se volessi monitorarlo nel tempo e visualizzarlo su un grafico?? Ci sono alcune utilità per questo se il tuo provider cloud non ne ha già uno.
Come nota a margine, se non l'hai ancora installato, il htop
Utilità (nella foto sopra) è molto più piacevole da usare rispetto all'impostazione predefinita top
.
La risposta banale: usa la grafica del tuo provider cloud
Questa soluzione è, con molto, il più facile da usare, ma non sarà disponibile per tutti. Se sei su AWS, CloudWatch semplifica il monitoraggio dell'utilizzo della CPU.
Dal Console di gestione CloudWatch, Scegliere “Metrica” e poi vedere i parametri per EC2. La metrica “Utilizzo della CPU” mostra l'utilizzo medio della CPU:
L'utilizzo medio della CPU viene misurato in incrementi di 5 minuti, ma puoi abilitare il monitoraggio esteso per l'istanza e aumentarlo con incrementi di 1 minuto. Nonostante questo, farlo ha un costo aggiuntivo. Inoltre puoi facilmente impostare allarmi per quando l'utilizzo della CPU è troppo alto.
Se sei nel motore di ricerca di Google Cloud Platform, nella scheda viene visualizzato un grafico “supervisione” quando selezioni un'istanza.
Azure ha Monitor di Azure, mostrando informazioni equivalenti:
Per la maggior parte degli altri fornitori di servizi cloud, probabilmente hanno anche un grafico come questo.
Usando / procedi / carico medio
Il modo migliore per farlo in modo nativo è guardare dove top
prende le tue informazioni da. /proc/loadavg
contiene medie di 1 minuto, 5 minuti e 15 minuti. Puoi accedere con cat
cat /proc/loadavg/ 1.71 1.32 1.38 2/97 6429
Puoi usarlo per generare un grafico stampando ogni riga in un file CSV separato da virgole, usando un po' awk
Magia:
cat /proc/loadavg | imbarazzante '{Stampa $1","$2","$3}' >> cpu.csv
Collegalo a un cron
lavoro che viene eseguito ogni minuto, ruotare i registri con logrotate, e avrai un monitor della CPU manipolato. Puoi importare il file CSV in Excel, dove sarà facile tracciare l'utilizzo medio della CPU su un grafico a linee.
Nota che il comando precedente stampa le medie di 1 minuto, 5 minuti e 15 minuti. Se lo esegui ogni minuto, non è proprio necessario stampare le medie di 5 e 15 minuti, perché può capirlo computazionalmente.
Sistema Instalar
il sar
L'utilità è eccellente per monitorare le prestazioni del sistema. È incluso come parte di sysstat
, che probabilmente non è installato di default sul tuo sistema. Dovrai ottenerlo dal gestore di pacchetti della tua distribuzione. Per sistemi basati su Debian come Ubuntu, voluto:
sudo apt-get install sysstat
Prossimo, abilitalo modificando /etc/default/sysstat
e stabilire “CAPACE” nel vero.
Così facendo, monitora il tuo sistema e genera un report ogni 10 minuti, ruotandoli dopo una settimana. Puoi modificare questo comportamento modificando il crontab sysstat in /etc/cron.d/sysstat
, o modificando l'impostazione di rotazione nel sysstat
impostazioni in /etc/sysstat/sysstat
.
Puoi generare un report in tempo reale con il seguente comando:
sar-u 1 3
sysstat
raccoglierà dati sull'utilizzo della CPU in background ogni minuto, salvandoli in /var/log/sysstat/
. È quindi possibile importare questi dati per l'analisi, utilizzando un programma per fogli di calcolo o uno strumento personalizzato come sargrafo, mostrando un bel grafico:
Inoltre puoi usare le utilità della riga di comando per tracciare grafici come questo, Che cosa ttyplot
, ma nessuno di loro si avvicina all'essere così facile da usare (e così attraente) come GUI. La riga di comando è migliore in questo, la grafica è più gradevole.
Monit può avvisarti se l'utilizzo della CPU è troppo alto
Monitèuna suite di monitoraggio open source per Unix che controlla lo stato del tuo server e puòessere configurato per inviarti notifiche se l'utilizzo della CPU del tuo server diventa pericolosamente alto. Leggi la nostra guida alla configurazione per maggiori informazioni.
Tieni presente che CloudWatch esegue immediatamente la stessa operazione con gli allarmi e può operare su più parametri diversi, non solo nell'utilizzo della CPU.