DBAtlas · Veritabanı operasyon atlası

Bellek kullanımını ve fragmentation'ı analiz et, active defrag'i aç

RedisBellek

Komut

INFO memory
# Bakilacak alanlar: used_memory_human, used_memory_rss_human, mem_fragmentation_ratio, mem_fragmentation_bytes, allocator_frag_ratio
MEMORY STATS
# Fragmentation yuksek ve kalici ise active defrag'i ac (jemalloc gerekir):
CONFIG SET activedefrag yes
CONFIG SET active-defrag-ignore-bytes 100mb
CONFIG SET active-defrag-threshold-lower 10
# Allocator'in bos sayfalari isletim sistemine iade etmesini iste:
MEMORY PURGE

Ne yapar?

Redis'in veri için ayırdığı bellek (used_memory) ile işletim sisteminin gördüğü RSS arasındaki farkı, fragmentation oranını ve bellek dağılımını gösterir; gerekirse active defrag'i çalışma zamanında açar.

Ne zaman kullanılır?

RSS, dataset boyutundan belirgin şekilde büyük olduğunda, toplu silme/expire sonrasında bellek düşmediğinde veya OOM riski oluştuğunda.

Dikkat

mem_fragmentation_ratio küçük dataset'lerde yanıltıcıdır (ör. 2 MB veride 4.0 görülebilir); mutlak değer için mem_fragmentation_bytes'a bak. Oran 1'in altındaysa fragmentation değil swap söz konusudur ve gecikme yaratır. Active defrag CPU tüketir; active-defrag-cycle-max ile üst sınırı kontrol et. Kalıcı olması için CONFIG REWRITE veya redis.conf gerekir.

DBAtlas'ta aç →

İlgili