Todos los productos
Search
Centro de documentos

Database Autonomy Service:Fragmentación de memoria en Redis

Última actualización: Sep 04, 2026

Database Autonomy Service (DAS) incluye la proporción de fragmentación de memoria como factor en su función de inspección y puntuación para instancias de Redis. Este tema explica qué es la fragmentación de memoria, qué la causa, cómo medirla y cuándo tomar medidas.

Funcionamiento de la fragmentación de memoria

La fragmentación de memoria ocurre cuando hay memoria libre, pero está dividida en segmentos pequeños y no contiguos. Aunque la memoria libre total supere los N bytes, el sistema operativo no puede satisfacer una solicitud de un bloque contiguo de N bytes; esos segmentos dispersos constituyen fragmentos de memoria.

En Tair (Redis OSS-Compatible), los fragmentos de memoria no reducen la memoria disponible asignada a su instancia ni generan costos adicionales.

Nota

Por ejemplo, si una instancia de Tair (Redis OSS-Compatible) tiene 1 GB de capacidad con 700 MB en uso, los 300 MB restantes (1 GB − 700 MB) permanecen disponibles incluso si la proporción de fragmentación de memoria alcanza 2, lo que significa que los datos ocupan físicamente 2 GB de memoria del sistema.

Causas de la fragmentación de memoria

La fragmentación de memoria tiene dos causas principales.

Comportamiento del asignador de memoria (interna)

Redis admite varios asignadores de memoria: libc, jemalloc y tcmalloc. jemalloc es el predeterminado. En lugar de asignar exactamente la cantidad de memoria que solicita una aplicación, jemalloc redondea hacia arriba al límite de potencia de dos más cercano: 8 bytes, 16 bytes, 32 bytes, 2 KB, 4 KB, etc. La diferencia entre la cantidad solicitada y la asignada se convierte en un fragmento.

Rotación de pares clave-valor (externa)

Cuando se modifican o eliminan pares clave-valor, la memoria que ocupaban se libera o se redimensiona. Dado que los bloques asignados rara vez coinciden con exactitud con el nuevo tamaño de los datos, los espacios vacíos se acumulan con el tiempo.

Comprobar la proporción de fragmentación de memoria

Ejecute el siguiente comando en DAS para consultar los detalles de uso de memoria:

INFO memory

La salida incluye:

# Memory
used_memory:350458970752
used_memory_human:326.39G
used_memory_rss:349066919936
used_memory_rss_human:325.09G
…
mem_fragmentation_ratio:1.00

Campo

Descripción

used_memory

Memoria que Redis solicitó para almacenar datos

used_memory_rss

Memoria física que el sistema operativo asignó a Redis, incluida la sobrecarga por fragmentación

mem_fragmentation_ratio

Proporción actual de fragmentación de memoria

La proporción se calcula de la siguiente manera:

mem_fragmentation_ratio = used_memory_rss / used_memory

Interpretación de la proporción

Proporción

Estado

Acción recomendada

1.0–1.5

Normal

No se requiere ninguna acción

> 1.5

Alta

La memoria fragmentada supera la mitad de la memoria utilizada; investigue y tome medidas correctivas