Todos os produtos
Search
Central de documentação

Tair (Redis® OSS-Compatible):Por que os alertas de memória diferem do uso monitorado

Última atualização: Jun 26, 2026

Se você receber um alerta de alto uso de memória para sua instância Tair (Redis OSS-compatible) ou se sua aplicação apresentar um erro de falta de memória (OOM), mas o uso de memória exibido no Performance Monitoring parecer baixo, este tópico explica as possíveis causas e soluções.

Sintomas

Sintoma 1:

Você recebe um alerta de memória da instância indicando que o uso de memória excedeu o limiar (por exemplo, o valor médio é >= 90% em três medições consecutivas), mas a página Performance Monitoring no console mostra que o uso geral de memória está baixo.

Sintoma 2:

Sua aplicação retorna um erro command not allowed when used memory > 'maxmemory', mas a página Performance Monitoring indica que a memória não está totalmente consumida ou que apenas um único data node apresenta alto uso de memória.

Causas

Discrepância entre monitoramento e alertas

Pode haver discrepância entre o uso de memória no Performance Monitoring e um alerta de memória ao utilizar uma cluster instance. O alerta geralmente reflete as métricas de um único data node, enquanto você visualiza as métricas gerais da instância.

Verifique os detalhes do alerta recebido. Se ele contiver o campo nodeId = <Instance ID>-db-<Number>, isso indica que apenas o data node específico identificado por <Instance ID>-db-<Number> excedeu o limiar de memória.

Siga estas etapas para confirmar se o uso de memória do data node corresponde ao alerta.

  1. Faça login no console e acesse a página Instances. Na barra de navegação superior, selecione a região onde reside a instância que você deseja gerenciar. Em seguida, localize a instância e clique em ID da instância.

  2. No painel de navegação à esquerda, clique em Performance Monitoring.

  3. Clique em aba Data Node e selecione o data node correspondente a <Instance ID>-db-<Number>. Verifique se o uso de memória dele corresponde ao valor do alerta. É possível visualizar os gráficos de monitoramento de CPU Usage e Memory Usage para o Data Node selecionado.

Desequilíbrio de memória entre data nodes

Quando um ou mais data nodes em uma cluster instance apresentam uso de memória significativamente maior que os demais, isso indica desequilíbrio de memória. Utilize o recurso de diagnóstico de instância para verificar rapidamente se há problemas de desequilíbrio na sua instância.

O que causa desequilíbrio de memória

As principais causas de desequilíbrio de memória são:

  • Presença de chaves grandes.

    Uma cluster instance usa um algoritmo de verificação cíclica de redundância (CRC) para calcular a qual slot uma chave pertence e, em seguida, grava os dados no data shard correspondente.

    Mesmo com as chaves distribuídas uniformemente entre os data shards, uma única chave que armazena muitos campos ou campos excessivamente grandes pode se tornar uma chave grande e resultar em desequilíbrio de memória.

  • Uso de hash tags.

    Ao utilizar uma hash tag, como em user:{1000}:name, a instância executa o cálculo CRC na string dentro das chaves ({}). Chaves com a mesma hash tag são mapeadas para o mesmo slot e armazenadas no mesmo data shard. Se muitas chaves compartilharem a mesma hash tag, os dados ficam concentrados em um único data shard, causando desequilíbrio de memória.

Soluções

Verificar e dividir chaves grandes

Localizar chaves grandes

Utilize o recurso de análise de chaves offline para encontrar chaves grandes.

Para conhecer outros métodos de identificação de chaves grandes, consulte Chaves grandes e hotkeys.

Dividir chaves grandes

Por exemplo, divida uma chave HASH com dezenas de milhares de membros em várias chaves HASH menores, cada uma com uma quantidade razoável de membros. Em uma cluster instance, dividir chaves grandes ajuda significativamente a equilibrar o uso de memória entre os data shards.

Verificar o uso de hash tags

Caso esteja usando uma hash tag que cause concentração de dados, considere dividi-la em múltiplas hash tags conforme a lógica da sua aplicação. Essa prática ajuda a distribuir os dados de forma mais uniforme entre diferentes data shards.

Atualizar a especificação da instância

Atualizar a especificação da instância aumenta a memória disponível para cada shard e pode ser uma solução temporária para o desequilíbrio de memória. Para obter as etapas detalhadas, consulte Alterar configuração da instância.

Importante
  • O sistema inicia uma verificação prévia de desequilíbrio de dados durante a alteração da especificação da instância. Se o tipo de instância selecionado não conseguir lidar com o problema de desequilíbrio de dados, o sistema reportará um erro. Selecione um tipo de instância com especificações superiores e tente novamente.

  • Após atualizar as especificações da instância, o desequilíbrio de uso de memória pode ser atenuado. No entanto, o desequilíbrio também pode ocorrer nos recursos de largura de banda e CPU.