Tüm Ürünler
Search
Belge Merkezi

Database Autonomy Service:Redis bellek parçalanması

Son Güncelleme:Oct 06, 2026

Database Autonomy Service (DAS), Redis örnekleri için denetim ve puanlama özelliğinde bellek parçalanma oranını bir faktör olarak değerlendirir. Bu konu; bellek parçalanmasının ne olduğunu, nedenlerini, nasıl ölçüldüğünü ve ne zaman müdahale edilmesi gerektiğini açıklar.

Bellek parçalanması nasıl oluşur

Bellek parçalanması, boş bellek alanı mevcut olsa da bu alanın küçük ve bitişik olmayan segmentlere bölünmesi durumunda ortaya çıkar. Toplam boş bellek miktarı N bayttan fazla olsa bile işletim sistemi, bitişik bir N baytlık blok isteğini karşılayamaz. Dağınık haldeki bu segmentler bellek parçası olarak adlandırılır.

Tair (Redis OSS-Compatible) ürününde bellek parçaları, örneğiniz için ayrılan kullanılabilir belleği azaltmaz ve ek ücret yansıtılmaz.

Not

Örneğin, 1 GB kapasiteli bir Tair (Redis OSS-Compatible) örneğinde 700 MB kullanılıyorsa bellek parçalanma oranı 2'ye ulaşsa bile kalan 300 MB (1 GB − 700 MB) kullanılabilir durumda kalır. Bu durumda veriler fiziksel olarak sistem belleğinde 2 GB yer kaplar.

Bellek parçalanmasının nedenleri

Bellek parçalanmasının iki temel nedeni vardır.

Bellek ayırıcı davranışı (dahili)

Redis; libc, jemalloc ve tcmalloc dahil olmak üzere birden çok bellek ayırıcıyı destekler. Varsayılan ayırıcı jemalloc'tur. Jemalloc, uygulamanın istediği bellek miktarını tam olarak ayırmak yerine en yakın ikilik sınırına yuvarlar (8 bayt, 16 bayt, 32 bayt, 2 KB, 4 KB vb.). İstenen miktar ile ayrılan miktar arasındaki fark parçalanmaya neden olur.

Anahtar-değer çifti değişimi (harici)

Anahtar-değer çiftleri değiştirildiğinde veya silindiğinde kapladıkları bellek serbest bırakılır ya da yeniden boyutlandırılır. Ayrılan bloklar nadiren yeni veri boyutuyla tam olarak eşleştiğinden zamanla boşluklar birikir.

Bellek parçalanma oranını kontrol etme

Bellek kullanım ayrıntılarını görüntülemek için DAS'ta aşağıdaki komutu çalıştırın:

INFO memory

Çıktı şunları içerir:

# Memory
used_memory:350458970752
used_memory_human:326.39G
used_memory_rss:349066919936
used_memory_rss_human:325.09G
…
mem_fragmentation_ratio:1.00
Alan Açıklama
used_memory Redis'in verileri depolamak için istediği bellek
used_memory_rss İşletim sisteminin Redis'e ayırdığı, parça yükünü de içeren fiziksel bellek
mem_fragmentation_ratio Geçerli bellek parçalanma oranı

Oran şu şekilde hesaplanır:

mem_fragmentation_ratio = used_memory_rss / used_memory

Oranı yorumlama

Oran Durum Önerilen eylem
1,0–1,5 Normal Eylem gerekmez
> 1,5 Yüksek Parçalanmış bellek, kullanılan belleğin yarısını aşıyor. Durumu inceleyin ve düzeltici önlem alın.