Come monitorare l'utilizzo della CPU in Linux nel tempo

Contenuti

utility principale che mostra l'utilizzo corrente della CPU per ogni processo in esecuzione

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:

Nella console di gestione di CloudWatch, Selezionare "Metrica" e poi visualizza le metriche per EC2.

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.

Grafico che appare in Google Cloud Platform nella scheda "supervisione" quando viene selezionata un

Azure ha Monitor di Azure, mostrando informazioni equivalenti:

Monitoraggio di Azure visualizza informazioni simili a Google Cloud Platform.

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:

sargraph mostra un grafico dell'utilizzo della CPU.

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

Logo Monit

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.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.