

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Amazon MQ for RabbitMQ: Alarme de alta memória
<a name="troubleshooting-action-required-codes-rabbitmq-memory-alarm"></a>

O Amazon MQ para RabbitMQ emitirá um alarme de memória alta quando o uso de memória do agente, identificado por CloudWatch métrica`RabbitMQMemUsed`, exceder o limite de memória identificado por. `RabbitMQMemLimit`

Um agente do RabbitMQ que tiver gerado um alarme de alta memória bloqueará todos os clientes que estiverem publicando mensagens. O agente pode entrar em um [loop de reinicialização](troubleshooting-rabbitmq.md#single-instance-broker-restart-loop), ter uma [sincronização de filas pausada](troubleshooting-rabbitmq.md#addressing-paused-queue-sync) ou outros problemas que complicam o diagnóstico e a resolução do alarme.

Para diagnosticar e resolver o alarme de alta memória, primeiro siga todas as [práticas recomendadas](best-practices-rabbitmq.md) do RabbitMQ e, em seguida, conclua as etapas a seguir.

**Importante**  
`RabbitMQMemLimit` é definido pelo Amazon MQ e é ajustado especificamente considerando-se a memória disponível para cada tipo de instância de host.
O Amazon MQ não reiniciará um agente com alarme de alta memória e retornará uma exceção para operações da API [https://docs.aws.amazon.com/amazon-mq/latest/api-reference/brokers-broker-id-reboot.html](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/brokers-broker-id-reboot.html), desde que o agente continue a gerar esse alarme.

## Etapa 1: Diagnosticar o alarme de alta memória
<a name="diagnosing-high-memory-alarm"></a>

 Há duas maneiras de diagnosticar alarmes de alta memória no agente do Amazon MQ para RabbitMQ. Recomendamos que você verifique o console web do RabbitMQ e as métricas do Amazon MQ em. CloudWatch 

### Diagnosticar alarme de alta memória usando-se o console da Web do RabbitMQ
<a name="diagnose-using-console"></a>

O console da Web do RabbitMQ pode gerar e exibir informações detalhadas de uso de memória para cada nó. Para encontrar essas informações, faça o seguinte:

1. Faça login Console de gerenciamento da AWS e abra o console web RabbitMQ do seu corretor.

1.  No console do RabbitMQ, na página **Overview** (Visão geral), escolha o nome de um nó na lista **Nodes** (Nós). 

1.  Na página de detalhes do nó, escolha **Memory details** (Detalhes da memória) para expandir a seção e visualizar as informações de uso de memória do nó. 

As informações de uso de memória fornecidas pelo RabbitMQ no console da Web podem ajudar você a determinar quais recursos podem estar consumindo muita memória e contribuindo para o alarme de alta memória. Para obter mais informações sobre os detalhes de uso da memória disponíveis no console da Web do RabbitMQ, consulte o tópico de [Considerações sobre o uso da memória](https://www.rabbitmq.com/memory-use.html) no site de documentação do RabbitMQ Server.

### Diagnosticar o alarme de alta memória usando-se métricas do Amazon MQ
<a name="diagnose-using-metrics"></a>

O Amazon MQ habilita métricas para o seu agente por padrão. Você pode [visualizar as métricas do seu corretor](amazon-mq-accessing-metrics.md) acessando o CloudWatch console ou usando a CloudWatch API. As seguintes métricas são úteis ao diagnosticar o alarme de alta memória do RabbitMQ.


| Métrica do Amazon MQ CloudWatch  | Motivo do alto uso de memória | 
| --- | --- | 
| MessageCount | Mensagens são armazenadas na memória até que sejam consumidas ou descartadas. Uma alta contagem de mensagens pode indicar o excesso de uso de recursos e pode resultar em um alarme de alta memória. | 
| QueueCount | Filas são armazenadas na memória, e um grande número de filas pode resultar em um alarme de alta memória. | 
| ConnectionCount | Conexões de clientes usam memória, e muitas conexões simultâneas podem resultar em um alarme de alta memória. | 
| ChannelCount | De maneira semelhante a conexões, canais estabelecidos usando cada conexão também são armazenados na memória do nó, e um alto número de canais pode resultar em um alarme de alta memória. | 
| ConsumerCount | Para cada consumidor conectado ao agente, um número definido de mensagens é carregado do armazenamento na memória antes de ser entregue ao consumidor. Um alto número de conexões de consumidor pode causar alto uso de memória e resultar em um alarme de alta memória. | 
| PublishRate | A publicação de mensagens utiliza a memória do agente. Se a taxa na qual as mensagens são publicadas no agente for muito alta e ultrapassar significativamente a taxa na qual o agente entrega mensagens aos consumidores, o agente poderá gerar um alarme de alta memória.  | 

## Etapa 2: Resolver e evitar o alarme de alta memória
<a name="address-prevent-high-memory-alarm"></a>

**nota**  
Depois que você realiza as ações necessárias, pode levar várias horas para que o status RABBITMQ\$1MEMORY\$1ALARM seja apagado.

 Siga todas as [práticas recomendadas](best-practices-rabbitmq.md) do RabbitMQ como um método geral de prevenção. Para cada colaborador especificado identificado, convém seguir o conjunto de ações a seguir para abordar e evitar alarmes de alta memória do RabbitMQ. 


| Origem do alto uso de memória | Recomendação do Amazon MQ para abordar | Recomendação do Amazon MQ para evitar | 
| --- | --- | --- | 
| Número de mensagens enviadas |  Consuma mensagens publicadas nas filas, limpe mensagens das filas ou exclua as filas do agente.  |  Ative filas lentas e defina ou reduza o [limite de profundidade da fila](rabbitmq-defaults-applying-policies.md).  | 
| Número de filas | Reduza o número dessas filas. | Defina ou reduza o [limite de contagem de filas](rabbitmq-resource-limits-configuration.md). | 
| Número de conexões | [Reduza o número de conexões](reducing-connections-and-channels.md). | Defina ou reduza o [limite de contagem de conexões](rabbitmq-resource-limits-configuration.md). | 
| Número de canais | [Reduza o número de canais](reducing-connections-and-channels.md). | Defina um número máximo de canais por conexão em aplicações cliente. | 
| Número de consumidores | Reduza o número de consumidores conectados ao agente. | Defina um pequeno [limite de pré-busca](rabbitmq-resource-limits-configuration.md) de consumidores. | 
| Taxa de publicação de mensagens | Reduza a taxa na qual os publicadores enviam mensagens ao agente. | Ative [confirmações do publicador](best-practices-message-reliability.md#configure-confirmation-acknowledgement). | 
| Taxa de tentativas de conexão do cliente | Reduza a frequência na qual os clientes tentam se conectar ao agente para publicar ou consumir mensagens ou configure o agente. | Use conexões de maior duração para reduzir o número e a frequência de tentativas de conexão. | 

 Depois que o alarme de alta memória do agente for resolvido, você poderá fazer upgrade do tipo de instância do host para uma instância com recursos adicionais. Para obter informações sobre como atualizar o tipo de instância do agente, consulte [https://docs.aws.amazon.com/amazon-mq/latest/api-reference/brokers-broker-id.html#brokers-broker-id-model-updatebrokerinput](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/brokers-broker-id.html#brokers-broker-id-model-updatebrokerinput) na *Referência da API REST do Amazon MQ*. 

**nota**  
Não é possível fazer downgrade de um agente de um tipo de instância `mq.m5.x` para um tipo de instância `mq.t3.micro`. Se quiser fazer downgrade, você deverá excluir o agente e criar outro.