Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Como soluciono problemas de uma instância do Linux do EC2 que apresenta falha na verificação de status devido ao uso excessivo de recursos?
Minha instância Linux do Amazon Elastic Compute Cloud (Amazon EC2) falhou na verificação de status da instância porque não tem mais recursos disponíveis.
Breve descrição
Sua instância pode falhar na verificação de integridade do status devido ao uso de recursos pelos seguintes motivos:
- A utilização da CPU da sua instância está próxima de 100% e a instância não tinha capacidade computacional suficiente para a execução do kernel.
- O dispositivo raiz está 100% cheio e não permite que outros processos sejam concluídos ou iniciados.
- Os processos executados na instância usaram toda a memória e não permitem a execução do kernel.
Resolução
Importante: antes de interromper e iniciar sua instância, execute as seguintes ações.
- Crie um snapshot do seu volume do Amazon Elastic Block Store (Amazon EBS).
Observação: se sua instância tiver suporte para armazenamento de instâncias ou tiver volumes de armazenamento de instâncias que contenham dados, o Amazon EC2 excluirá os dados quando você interrompe a instância. - Remova temporariamente a instância do grupo do Amazon EC2 Auto Scaling.
Observação: se você interromper uma instância que está em um grupo do Amazon EC2 Auto Scaling, poderá encerrar a instância com base nas configurações de proteção na redução de escala. As instâncias executadas com o Amazon EMR, o AWS CloudFormation ou o AWS Elastic Beanstalk podem fazer parte de um grupo do Auto Scaling. - Defina o comportamento de desligamento da instância como Interromper para garantir que as instâncias não sejam encerradas quando você as interrompe.
Interrompa e execute sua instância para forçar o kernel a parar de executar processos. Essa é uma solução temporária para devolver recursos ao sistema operacional (SO). Para corrigir os problemas de uso excessivo, execute as seguintes ações para resolver a causa raiz.
Observação: além disso, quando você interrompe ou executa uma instância, o endereço IP público da instância muda. Ao rotear tráfego externo para sua instância, é uma prática recomendada usar um endereço IP elástico em vez de um endereço IP público.
Verifique as métricas de CPU do CloudWatch da instância
Verifique se a métrica CPUUtilization do Amazon CloudWatch da instância atingiu ou está perto de 100%. Se for o caso, reinicie sua instância para retorná-la a um status íntegro. Se o problema persistir após a reinicialização, então os requisitos de CPU da instância são maiores do que os oferecidos pelo seu tipo de instância.
Para resolver esse problema, altere seu tipo de instância para um com maior disponibilidade de CPU.
Se sua instância for uma instância de desempenho expansível, como T2, T3 ou T3a, verifique sua métrica CPUCreditBalance. Se o saldo de crédito estiver próximo de zero, o Amazon EC2 limitará a CPU da instância. Se você definir a Especificação de crédito da instância como Padrão, altere a especificação para Ilimitada.
Verifique se há erros no log do sistema da instância
Verifique se há erros no log do sistema, como “No space left on device” ou “Out of memory”.
Solucionar o erro “No space left on device”
Se o sistema de arquivos que contém uma pasta listada estiver cheio, você receberá um erro semelhante ao exemplo a seguir:
“OSError: [Error 28] No space left on device '/var/lib/'”
No exemplo anterior, /var/lib está cheio.
Para liberar espaço, use o Console de Série do EC2 para se conectar aos tipos de instância compatíveis baseados em Nitro e às instâncias bare metal compatíveis. Em seguida, exclua os arquivos desnecessários. Você não precisa de uma conexão funcional para se conectar à instância quando usar o Console de Série do EC2.
Se você nunca usou o Console de série do EC2 antes, certifique-se de cumprir os pré-requisitos. Se sua instância estiver inacessível e você ainda não tiver configurado o acesso ao console de série, não poderá usar o Console de Série do EC2.
Se você não conseguir usar o Console de Série do EC2, conclua as etapas a seguir para executar uma instância de resgate e remover arquivos desnecessários:
-
Execute uma nova instância de resgate na nuvem privada virtual (VPC). Use a mesma imagem de máquina da Amazon (AMI) e a mesma zona de disponibilidade da instância que apresentou falha na verificação de status.
Observação: também é possível usar uma instância atual que esteja na mesma zona de disponibilidade e usar a mesma AMI da instância original. -
Separe o volume raiz do Amazon Elastic Block Store (Amazon EBS), como /dev/xvda or /dev/sda1, da instância original. Anote o nome do dispositivo do seu volume raiz.
-
Anexe o volume como um dispositivo secundário /dev/sdf à instância de resgate.
-
Para criar um diretório de pontos de montagem para o volume que você anexou à instância de resgate, execute o seguinte comando:
sudo mkdir /rescueObservação: substitua /rescue pelo nome do seu diretório de pontos de montagem.
-
Como usuário-raiz, execute o seguinte comando para identificar o nome correto do dispositivo:
sudo -i # lsblkObservação: o dispositivo conectado à instância de resgate pode ter um nome de dispositivo diferente.
-
Para montar o volume no novo diretório, execute o seguinte comando:
sudo mount /dev/xvdf1 /rescueObservação: substitua dev/xvdf1 pelo nome do dispositivo do volume raiz e /rescue pelo nome do diretório do ponto de montagem. Se você receber um erro ao executar o comando anterior, consulte Por que não consigo montar meu volume do Amazon EBS?
-
Para identificar os arquivos que ocupam mais espaço, execute o seguinte comando:
du -shcm /rescue/var/lib/* |sort -n -
Para liberar espaço, exclua arquivos grandes desnecessários.
-
Para desmontar o dispositivo secundário da sua instância de resgate, execute o seguinte comando:
sudo umount /rescue
Observação: substitua /rescue pelo nome do seu diretório de pontos de montagem.
Se a operação de desmontagem falhar, interrompa ou reinicialize a instância de resgate. Em seguida, execute o comando anterior.
Separe o volume secundário da instância de resgate.
Anexe o volume à instância original como volume raiz /dev/xvda ou /dev/sda1.
Execute a instância e, em seguida, verifique se a instância responde.
Se você ainda não tiver armazenamento suficiente disponível, conclua as etapas a seguir para redimensionar o volume raiz do EBS:
- Solicite uma modificação do tamanho do volume do EBS.
- Siga as etapas de 1 a 8 da seção anterior para executar uma instância de resgate.
- Amplie o sistema de arquivos Linux.
Solucionar o erro “Out of memory”
Se sua instância estiver sem memória, você receberá o seguinte erro:
“Out of memory: kill process”
Quando a instância está sem memória, o kernel não tem memória suficiente para ser executado e o Amazon EC2 encerra outros processos para liberar memória. Para ver as etapas de solução de problemas, consulte Sem memória: encerrar processo.
Para verificar seus logs de memória, siga as etapas 1 a 8 da seção anterior para executar uma instância de resgate. Em seguida, execute o seguinte comando com base na sua distribuição Linux para pesquisar nos logs por mensagens de “out of memory”:
Amazon Linux 2 (AL2):
sudo grep -i -r 'out of memory' /var/log/
Amazon Linux 2023 (AL2023):
sudo journalctl -p err | grep -i "out of memory"
-ou-
sudo dmesg | grep -i "out of memory"
Solucionar falhas de alocação de páginas
Você recebe um erro de “page allocation failure” quando o alocador de memória do kernel falha na solicitação de alocação.
Para solucionar esse problema, é uma prática recomendada atualizar a instância para um tipo de instância maior. Ou, para casos que usam volumes de armazenamento de instâncias efêmeros, use um arquivo de troca ou uma partição de disco rígido para adicionar armazenamento de troca à instância e aliviar a pressão da memória.
Observação: a instância usa espaço de troca quando a RAM está cheia. É possível usar o espaço de troca para instâncias que têm uma pequena quantidade de RAM. No entanto, o espaço de troca não substitui mais RAM. Como o espaço de troca está no disco rígido da instância, o desempenho é mais lento em comparação com a RAM. Para obter mais memória ou memória mais rápida, você deve aumentar o tamanho da instância.
Usar atop para investigar e evitar problemas de recursos
Use a ferramenta de monitoramento atop para identificar padrões e processos de uso de recursos que possam causar problemas antes que causem falhas no sistema. A ferramenta atop ajuda você a monitorar e solucionar problemas do sistema continuamente.
Observação: a ferramenta atop registra os dados somente após a instalação. Não é possível recuperar dados históricos de desempenho anteriores à instalação da ferramenta atop.
Use a ferramenta atop para verificar os seguintes recursos:
- Verifique os dados históricos em /var/log/atop/ para analisar seu sistema e processos quando a falha ocorreu.
- Procure processos que consumam uma grande quantidade de recursos.
- Verifique os padrões de uso da memória, da CPU e do disco que levaram à falha.
Informações relacionadas
Como soluciono problemas de falhas na verificação de status da minha instância Linux do EC2?
Quais etapas eu preciso seguir antes de alterar o tipo da minha instância do Linux do EC2?
- Tópicos
- Compute
- Tags
- LinuxAmazon EC2
- Idioma
- Português

Conteúdo relevante
- feita há 4 meses