Redis
 sql >> Base de données >  >> NoSQL >> Redis

Redis - surveillance de l'utilisation de la mémoire

La mémoire est une ressource essentielle pour les performances de Redis. La mémoire utilisée définit le nombre total d'octets alloués par Redis à l'aide de son allocation (libc standard, jemalloc ou un allocateur alternatif tel que tcmalloc).

Vous pouvez collecter toutes les données de métriques d'utilisation de la mémoire pour une instance Redis en exécutant "info memory".

 
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

Parfois, lorsque Redis est configuré sans limite de mémoire maximale, l'utilisation de la mémoire finira par atteindre la mémoire système et le serveur commencera à générer des erreurs "Out of Memory". À d'autres moments, Redis est configuré avec une limite de mémoire maximale mais aucune politique d'éviction. Cela empêcherait le serveur d'expulser les clés, empêchant ainsi toute écriture jusqu'à ce que la mémoire soit libérée. La solution à de tels problèmes serait de configurer Redis avec une mémoire maximale et une politique d'expulsion. Dans ce cas, le serveur commence à expulser les clés en utilisant la politique d'expulsion lorsque l'utilisation de la mémoire atteint le maximum.

La mémoire RSS (Resident Set Size) est le nombre d'octets que le système d'exploitation a alloués à Redis. Si le rapport entre "memory_rss" et "memory_used" est supérieur à ~1,5, cela signifie une fragmentation de la mémoire. La mémoire fragmentée peut être récupérée en redémarrant le serveur.