Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Redis - monitorando o uso de memória


A memória é um recurso crítico para o desempenho do Redis. A memória usada define o número total de bytes alocados pelo Redis usando seu alocador (libc padrão, jemalloc ou um alocador alternativo, como tcmalloc).

Você pode coletar todos os dados de métricas de utilização de memória para uma instância do Redis executando “info memory”.
 
127.0.0.1:6379> info memory
Memory
used_memory:1007280
used_memory_human:983.67K
used_memory_rss:2002944
used_memory_rss_human:1.91M
used_memory_peak:1008128
used_memory_peak_human:984.50K

Às vezes, quando o Redis está configurado sem limite máximo de memória, o uso de memória eventualmente atingirá a memória do sistema e o servidor começará a gerar erros de “Memória insuficiente”. Outras vezes, o Redis é configurado com um limite máximo de memória, mas com uma política de despejo. Isso faria com que o servidor não despejasse nenhuma chave, impedindo assim qualquer gravação até que a memória fosse liberada. A solução para esses problemas seria configurar o Redis com memória máxima e alguma política de despejo. Nesse caso, o servidor começa a despejar as chaves usando a política de despejo à medida que o uso de memória atinge o máximo.

Memória RSS (Resident Set Size) é o número de bytes que o sistema operacional alocou para o Redis. Se a proporção de 'memory_rss' para 'memory_used' for maior que ~ 1,5, isso significa fragmentação de memória. A memória fragmentada pode ser recuperada reiniciando o servidor.