sql >> Base de Datos >  >> NoSQL >> Redis

Redis:supervisión del uso de la memoria

La memoria es un recurso fundamental para el rendimiento de Redis. La memoria utilizada define el número total de bytes asignados por Redis utilizando su asignador (ya sea libc estándar, jemalloc o un asignador alternativo como tcmalloc).

Puede recopilar todos los datos de métricas de uso de memoria para una instancia de Redis ejecutando "memoria de información".

 
127.0.0.1:6379> info memory
Memory
used_memory:1007280
used_memory_human:983.67K
used_memory_rss:2002944
used_memory_rss_human:1.91M
used_memory_peak:1008128
used_memory_peak_human:984.50K

A veces, cuando Redis está configurado sin límite máximo de memoria, el uso de la memoria eventualmente alcanzará la memoria del sistema y el servidor comenzará a generar errores de "memoria insuficiente". En otras ocasiones, Redis está configurado con un límite máximo de memoria pero sin una política de desalojo. Esto haría que el servidor no desaloje ninguna clave, evitando así cualquier escritura hasta que se libere la memoria. La solución a tales problemas sería configurar Redis con memoria máxima y alguna política de desalojo. En este caso, el servidor comienza a desalojar claves utilizando la política de desalojo a medida que el uso de la memoria alcanza el máximo.

La memoria RSS (Tamaño del conjunto residente) es la cantidad de bytes que el sistema operativo ha asignado a Redis. Si la proporción de 'memory_rss' a 'memory_used' es mayor que ~1.5, entonces significa fragmentación de la memoria. La memoria fragmentada se puede recuperar reiniciando el servidor.