DBAtlas · Atlas für Datenbankbetrieb

Speicherverbrauch und Fragmentierung analysieren, Active Defrag aktivieren

RedisSpeicher

Befehl

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 PURGE

Was es tut

Zeigt den Unterschied zwischen dem Speicher, den Redis für Daten belegt (used_memory), und dem vom OS gesehenen RSS, die Fragmentierungsrate und die Speicheraufschlüsselung; aktiviert bei Bedarf Active Defrag zur Laufzeit.

Wann einsetzen

Wenn RSS deutlich größer als der Datenbestand ist, der Speicher nach Massenlöschungen/Ablauf nicht sinkt oder ein OOM-Risiko entsteht.

Vorsicht

mem_fragmentation_ratio täuscht bei kleinen Datenbeständen (z. B. 4.0 bei 2 MB Daten); für den absoluten Wert mem_fragmentation_bytes betrachten. Ein Wert unter 1 bedeutet Swapping, nicht Fragmentierung, und verursacht Latenz. Active Defrag verbraucht CPU; begrenze es mit active-defrag-cycle-max. Für eine dauerhafte Einstellung ist CONFIG REWRITE oder redis.conf nötig.

In DBAtlas öffnen →

Verwandte Einträge