Como posso monitorar meu uso de recursos do Lightsail na linha de comando?
Meu site ou aplicativo hospedado no Amazon Lightsail está inativo ou está funcionando muito lentamente. Quero monitorar meu uso de recursos do Lightsail pela linha de comando para poder solucionar esses problemas.
Breve descrição
Há vários fatores, incluindo a alta utilização de recursos, que afetam os serviços executados nas instâncias do Lightsail. Use ferramentas comuns para monitorar recursos como CPU, memória, E/S de disco e uso da rede nas instâncias do Lightsail. Você pode fazer isso em tempo real a partir da linha de comando. As ferramentas permitem uma visão granular de quais processos usam mais CPU, memória, E/S de disco ou rede.
A seguir estão os recursos que você pode usar para analisar e monitorar os recursos da sua instância do Lightsail na linha de comando:
- A ferramenta atop
- A ferramenta htop
- Os comandos iostat, vmstat e mpstat
Resolução
A ferramenta atop
A ferramenta atop relata a atividade de todos os processos, mesmo que esses processos tenham sido concluídos durante o intervalo especificado. Essa ferramenta registra continuamente todas as informações relevantes do sistema. Devido a esse registro contínuo, se os problemas ocorrerem novamente, você terá dados históricos para analisar. A ferramenta atop está incluída nos repositórios oficiais da maioria das distribuições Linux. Instale a ferramenta atop executando os seguintes comandos:
Sistemas baseados em Red Hat
$ sudo yum install atop
Sistemas baseados em Debian
$ sudo apt install atop
Por padrão, a ferramenta atop registra todas as atividades em intervalos de 600 segundos. Para alterar a configuração da ferramenta atop para que as atividades sejam registradas em intervalos de 60 segundos, execute o seguinte comando:
Sistemas baseados em Red Hat
$sudo sed 's/600/60/' /etc/atop/atop.daily -i
Sistemas baseados em Debian
$ sudo sed 's/600/60/' /etc/default/atop -i
Depois de executar o comando, a atop registra todas as atividades em 60 segundos internos. Os dados são armazenados em arquivos de log em /var/log/atop. Esses arquivos são nomeados no seguinte formato “atop_ccyymmdd”. Por exemplo, “atop_20230902” é a gravação de 2 de setembro de 2023.
Para acessar o arquivo de log, execute o comando atop -r atologfilepath. O comando e o arquivo de log aparecem no exemplo a seguir:
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 ?% |
Neste exemplo de saída, o primeiro instantâneo registrado foi em 2021/09/02 17:03:44. Para avançar para o próximo instantâneo, pressione a tecla “t” no teclado. Para voltar ao instantâneo anterior, pressione a tecla “T” (maiúscula “t”).
As opções a seguir são comumente usadas com as quais você pode iniciar:
Classificar por memória
$ atop -m
Classificar por detalhes do disco
$ atop -d
Classificar por detalhes da rede
$ atop -n
A ferramenta htop
A ferramenta htop é um aplicativo de monitoramento de processos interativo e em tempo real para Linux que mostra seu uso por CPU ou núcleo. Essa ferramenta também fornece um gráfico de texto do uso da memória e do swap.
Para instalar o MTR, execute os seguintes comandos:
Sistemas baseados em Red Hat
$ sudo yum install htop
Sistemas baseados em Debian e Ubuntu
$ sudo apt install htop
Use o comando a seguir para executar o htop em seu sistema:
$ htop
A ferramenta htop lista todos os processos atualmente em execução no sistema e inclui informações sobre a quantidade de CPU e memória que cada processo usa. O comando usado para iniciar o processo também está incluído.
A seguir estão as definições para cada coluna na saída:
- PID: um número de identificação do processo.
- BUSER: o proprietário do processo.
- PR: a prioridade do processo. Quanto menor o número, maior a prioridade.
- NI: o bom valor do processo, que afeta sua prioridade.
- VIRT: quanta memória virtual o processo usa.
- RES: quanto de RAM física o processo usa, medida em kilobytes.
- SHR: quanto de memória compartilhada o processo usa.
- S: o status atual do processo.
- CPU: a porcentagem do tempo do processador usado pelo processo.
- MEM: a porcentagem de RAM física usada pelo processo.
- TIME+: quanto tempo de processador o processo usou.
- COMMAND: o nome do comando que iniciou o processo.
Os comandos iostat, vmstat e mpstat
Os comandos iostat, vmstat e mpstat fazem parte do pacote sysstat. Use os comandos a seguir para instalar esse conjunto de ferramentas em sua instância do Lightsail:
Sistemas baseados em Red Hat, como Amazon Linux, CentOS ou RHEL
$ sudo yum install sysstat
Debian e Ubuntu
$ sudo apt-get install sysstat
Use os comandos a seguir para iniciar e ativar o sysstat para coleta contínua de dados:
$ sudo systemctl start sysstat
$ sudo systemctl enable sysstat
comando ‘iostat’
O comando iostat coleta e exibe estatísticas do dispositivo de armazenamento de entrada e saída do sistema. Essa ferramenta geralmente é usada para rastrear problemas de desempenho de dispositivos de armazenamento, incluindo dispositivos e discos. A seguir estão as opções comuns do iostat:
- iostat: oferece relatórios e estatísticas.
- iostat -x: mostra informações estatísticas mais detalhadas.
- iostat -c: mostra somente a estatística da CPU.
- iostat -d: exibe somente o relatório do dispositivo.
- iostat -xd: mostra estatísticas de E/S estendidas somente para o dispositivo.
Veja a seguir um exemplo de saída do 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
O comando vmstat (estatísticas de memória virtual) coleta e exibe informações sobre memória do sistema, processos, interrupções, paginação e E/S de blocos. O comando vmstat permite que você especifique um intervalo de amostra para observar a atividade do sistema quase em tempo real. Veja a seguir um exemplo do comando vmstat e da saída:
$ 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
A seguir estão as opções mais usadas que você pode usar com o comando vmstat:
A opção**-a** exibe a memória ativa e inativa do 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
A opção**-d** relata estatísticas do 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
O comando mpstat coleta e exibe estatísticas de desempenho para todos os processadores lógicos no sistema. Se você executar o comando mpstat sem opções, um único relatório será gerado contendo as estatísticas de desempenho de todos os processadores lógicos desde o momento da inicialização.
$ 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
A primeira linha no exemplo anterior é um conjunto de rótulos de coluna. A segunda linha é o valor de cada coluna:
- %usr: % de uso da CPU no nível do usuário.
- %nice: % de uso da CPU para processos do usuário rotulados como “bons”.
- %sys: % de uso da CPU no nível do sistema (kernel Linux).
- %iowait: % de uso inativo da CPU aguardando a leitura/gravação de um disco.
- %irq: % de uso da CPU que lida com interrupções de hardware.
- %soft: % de uso da CPU que lida com interrupções de software.
- %steal: % de uso da CPU forçado a esperar por um hipervisor manipulando outros processadores virtuais.
- %guest: % de uso da CPU gasto em um processador virtual.
- idle: % de uso da CPU no tempo ocioso (sem processos e sem espera pela leitura/gravação de um disco).
Com as ferramentas de linha de comando anteriores, identifique os processos com alto uso de recursos. Use essas informações para escolher instâncias com recursos suficientes para sua carga de trabalho.
Conteúdo relevante
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há 3 anos