Come posso monitorare l'utilizzo delle risorse Lightsail dalla riga di comando?

Ultimo aggiornamento: 29-10-2021

Il mio sito Web o l'applicazione ospitata in Amazon Lightsail sono inattivi o funzionano molto lentamente. Come posso monitorare l'utilizzo delle risorse Lightsail dalla riga di comando in modo da poter risolvere questi problemi?

Breve descrizione

Esistono diversi fattori, tra cui l'elevato utilizzo delle risorse, che influiscono sui servizi in esecuzione sulle istanze Lightsail. Utilizzando strumenti comuni è possibile monitorare risorse come CPU, memoria, I/O del disco e utilizzo della rete sulle istanze Lightsail in tempo reale dalla riga di comando.

L'analisi e il monitoraggio dell'utilizzo delle risorse dell'istanza Lightsail dalla riga di comando fornisce informazioni sul sistema in tempo reale. Ciò consente inoltre di visualizzare in modo granulare i processi che utilizzano la maggior parte della CPU, della memoria, dell'I/O del disco o della rete.

Di seguito sono riportate le risorse che è possibile utilizzare per analizzare e monitorare le risorse dell'istanza Lightsail dalla riga di comando:

  • Lo strumento atop
  • Lo strumento htop
  • I comandi iostat, vmstat e mpstat

Risoluzione

Lo strumento atop

Lo strumento atop riporta l'attività di tutti i processi, anche se tali processi sono terminati durante l'intervallo specificato. Questo strumento registra continuamente tutte le informazioni rilevanti sul sistema. A causa di questa registrazione continua, se si verificano problemi, è necessario analizzare i dati storici. Lo strumento atop è incluso nei repository ufficiali per la maggior parte delle distribuzioni Linux. Installare lo strumento atop eseguendo i seguenti comandi:

Sistemi basati su Red Hat

$ sudo yum install atop

Sistemi basati su Debian

$ sudo apt install atop

Lo strumento atop registra tutte le attività a intervalli di 600 secondi per impostazione predefinita. Per modificare la configurazione dello strumento in alto in modo che le attività vengano registrate a intervalli di 60 secondi, eseguire il seguente comando:

Sistemi basati su Red Hat

$sudo sed 's/600/60/' /etc/atop/atop.daily -i

Sistemi basati su Debian

$ sudo sed 's/600/60/' /etc/default/atop -i

Dopo aver eseguito il comando precedente, atop registra tutte le attività entro 60 secondi interni. I dati sono memorizzati nei file di log in /var/log/atop. Questi file sono denominati nel seguente formato "atop_ccyymmdd". Ad esempio, "atop_20210902" è la registrazione del 2 settembre 2021.

Per accedere al file di log, esegui il comando atop -r atologfilepath. Il comando e il file di log sono illustrati nell'esempio seguente:

atop -r /var/log/atop/atop_20210902 

ATOP - ip-172-20-139-91                2021/09/02  17:03:44                ----------------                 3h33m7s elapsed
PRC |  sys    6.51s  |  user   7.85s  |  #proc    103  |  #tslpi    81 |  #tslpu     0  |  #zombie    0  |  #exit      0  |
CPU |  sys     0%  |  user      3%  |  irq       0%  |  idle    197% |  wait      0%  |  ipc notavail  |  curscal   ?%  |
cpu |  sys     0%  |  user      1%  |  irq       0%  |  idle     98% |  cpu000 w  0%  |  ipc notavail  |  curscal   ?%  |
cpu |  sys     0%  |  user      1%  |  irq       0%  |  idle     98% |  cpu001 w  0%  |  ipc notavail  |  curscal   ?%  |

Nell'esempio di output precedente, il primo snapshot registrato era alle 17:03:44 del 02/09/2021. Per passare allo snapshot successivo, premi il tasto "t" sulla tastiera. Per tornare allo snapshot precedente, premi il tasto "T" ("t" maiuscola).

Di seguito sono riportate le opzioni di uso comune con cui è possibile avviare atop:

Ordina per memoria

$ atop -m

Ordina per dettagli su disco

$ atop -d

Ordina per dettagli di rete

$ atop -n

Lo strumento htop

Lo strumento htop è un'applicazione di monitoraggio dei processi interattiva e in tempo reale per Linux che mostra l'utilizzo per CPU o core. Questo strumento fornisce anche un grafico di testo significativo della memoria e dell'utilizzo dello swap.

Esegui i seguenti comandi per installare htop:

Sistemi basati su Red Hat

$ sudo yum install htop

Sistemi basati su Debian e Ubuntu

$ sudo apt install htop

Usa il seguente comando per eseguire htop sul tuo sistema:

$ htop

Lo strumento htop elenca tutti i processi in esecuzione sul sistema e include informazioni sulla quantità di CPU e memoria utilizzata da ciascun processo. È incluso anche il comando utilizzato per avviare il processo.

Di seguito sono riportate le definizioni per ogni colonna nell'output:

  • PID: un numero ID di processo per il processo.
  • BUSER: Il proprietario del processo.
  • PR: la priorità del processo. Più basso è il numero, maggiore è la priorità.
  • NI: il buon valore del processo, che influisce sulla sua priorità.
  • VIRT: Quanta memoria virtuale sta utilizzando il processo.
  • RES: quanta RAM fisica sta utilizzando il processo, misurata in kilobyte.
  • SHR: quanta memoria condivisa sta utilizzando il processo.
  • S: lo stato attuale del processo (zombie, dormiente, in esecuzione, sonno ininterrotto o tracciato).
  • CPU: la percentuale del tempo del processore utilizzato dal processo.
  • MEM: la percentuale di RAM fisica utilizzata dal processo.
  • TIME+: quanto tempo del processore ha utilizzato il processo.
  • COMMAND: il nome del comando che ha avviato il processo.

I comandi iostat, vmstat e mpstat

I comandi iostat, vmstat e mpstat fanno parte del pacchetto sysstat. Usa i seguenti comandi per installare questo set di strumenti nella tua istanza Lightsail:

Sistemi basati su Red Hat, come Amazon Linux, CentOS o RHEL

$ sudo yum install sysstat

Debian e Ubuntu

$ sudo apt-get install sysstat

Utilizza i seguenti comandi per avviare e abilitare sysstat per la raccolta continua dei dati:

$ sudo systemctl start sysstat
$ sudo systemctl enable sysstat

Comando 'iostat'

Il comando iostat raccoglie e visualizza le statistiche del dispositivo di memorizzazione di input e output del sistema. Questo strumento viene spesso utilizzato per tenere traccia dei problemi di prestazioni dei dispositivi di archiviazione, inclusi dispositivi e dischi. Di seguito sono riportate le opzioni iostat comuni:

  • iostat: ottieni report e statistiche.
  • iostat -x: mostra informazioni statistiche più dettagliate.
  • iostat -c: mostra solo le statistiche della CPU.
  • iostat -d: visualizza solo il report del dispositivo.
  • iostat -xd: mostra le statistiche di I/O estese solo per il dispositivo.

Di seguito è riportato un esempio di output del comando iostat:

$ iostat
Linux 4.14.246-187.474.amzn2.x86_64     10/22/2021     _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.34    0.00    1.36    1.06    1.67   90.58

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
xvda             41.64      1496.90       890.16     502148     298612

Comando 'vmstat'

Il comando vmstat (statistiche della memoria virtuale) raccoglie e visualizza informazioni su memoria di sistema, processi, interrupt, paging e I/O a blocchi. Il comando vmstat consente di specificare un intervallo di campionamento che consente di osservare l'attività del sistema in tempo quasi reale. Di seguito è riportato un esempio del comando e dell'output di vmstat:

$ vmstat 2 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 0 1409320 2088 485404 0 0 568 724 232 393 4 2 93 1 1
0 0 0 1409332 2088 485404 0 0 0 67 146 261 0 0 100 0 0
0 0 0 1408916 2088 485404 0 0 0 0 157 276 0 0 100 0 0
0 0 0 1408980 2088 485408 0 0 0 0 161 259 0 0 100 0 0
0 0 0 1408984 2088 485408 0 0 0 0 105 190 0 0 100 0 0

Di seguito sono riportate le opzioni di uso comune che è possibile utilizzare con il comando vmstat:

L'opzione -a visualizza la memoria attiva e inattiva del sistema:

$ vmstat -a
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
2 0 0 1402016 311232 218864 0 0 60 77 74 129 0 0 99 0 0

L'opzione -d riporta le statistiche del disco:

$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
nvme0n1 7728 25 433681 4544 3133 93 555950 4196 0 1
Comando 'mpstat'

Il comando mpstat raccoglie e visualizza le statistiche delle prestazioni per tutti i processori logici del sistema. L'esecuzione del comando mpstat senza opzioni genera un singolo report che contiene le statistiche delle prestazioni per tutti i processori logici dall'avvio.

$ mpstat 
Linux 4.18.0-305.el8.x86_64 (ip-xxx-xx-x-xx.ec2.internal)     10/27/2021     _x86_64_    (2 CPU)

04:23:26 PM  CPU    %usr   %nice    %sys  %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
04:23:26 PM  all    8.42    0.13    2.43    1.49     0.18    0.05    0.22    0.00    0.00   87.08

La prima riga dell'esempio precedente è un insieme di etichette di colonna. La seconda riga è il valore per ogni colonna:

  • %usr: la % di utilizzo della CPU a livello utente.
  • %nice: la % di utilizzo della CPU per i processi utente etichettati "nice".
  • %sys: la % di utilizzo della CPU a livello di sistema (kernel Linux).
  • %iowait: la % di utilizzo della CPU inattivo in attesa su un disco di lettura/scrittura.
  • %irq: la % di utilizzo della CPU che gestisce gli interrupt hardware.
  • %soft: la % di utilizzo della CPU per la gestione degli interrupt software.
  • %steal: la % di utilizzo della CPU forzato ad attendere che un hypervisor gestisca altri processori virtuali.
  • %guest: la % di utilizzo della CPU speso per l'esecuzione di un processore virtuale.
  • idle: la % di utilizzo della CPU durante il periodo di inattività (nessun processo e non attesa su un disco di lettura/scrittura).

Utilizzando gli strumenti della riga di comando precedenti, è possibile identificare i processi con un elevato utilizzo delle risorse. È inoltre possibile utilizzare queste informazioni per scegliere istanze con risorse sufficienti per il carico di lavoro.


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?