Analisar o uso de memória e a fragmentação, habilitar o active defrag
RedisMemóriaComando
INFO memory
# Fields to check: used_memory_human, used_memory_rss_human, mem_fragmentation_ratio, mem_fragmentation_bytes, allocator_frag_ratio
MEMORY STATS
# If fragmentation is high and persistent, enable active defrag (requires jemalloc):
CONFIG SET activedefrag yes
CONFIG SET active-defrag-ignore-bytes 100mb
CONFIG SET active-defrag-threshold-lower 10
# Ask the allocator to return free pages to the OS:
MEMORY PURGEO que faz
Mostra a diferença entre a memória que o Redis aloca para dados (used_memory) e o RSS visto pelo SO, a taxa de fragmentação e o detalhamento da memória; habilita o active defrag em runtime se necessário.
Quando usar
Quando o RSS é claramente maior que o dataset, a memória não cai após deletes em massa/expiração ou surge um risco de OOM.
Atenção
mem_fragmentation_ratio é enganoso em datasets pequenos (ex.: 4.0 com 2 MB de dados); olhe mem_fragmentation_bytes para o valor absoluto. Uma razão abaixo de 1 significa swap, não fragmentação, e causa latência. O active defrag consome CPU; limite-o com active-defrag-cycle-max. É necessário CONFIG REWRITE ou redis.conf para torná-lo persistente.