sql >> Databasteknik >  >> NoSQL >> Redis

Redis - övervakning av minnesanvändning

Minne är en kritisk resurs för Redis prestanda. Användt minne definierar det totala antalet byte som tilldelats av Redis med dess allokator (antingen standard libc, jemalloc eller en alternativ allokator som tcmalloc).

Du kan samla in all minnesanvändningsdata för en Redis-instans genom att köra "infominne".

 127.0.0.1:6379> info memoryMemoryused_memory:1007280used_memory_human:983.67Kused_memory_rss:2002944used_memory_rss_human:1.91Mused_memory_memory:pre>1_memory_08 

Ibland, när Redis är konfigurerad utan max minnesgräns, kommer minnesanvändningen så småningom att nå systemminnet, och servern kommer att börja skicka felmeddelanden "Out of Memory". Vid andra tillfällen är Redis konfigurerad med en maximal minnesgräns men noviction policy. Detta skulle få servern att inte vräka några nycklar, vilket förhindrar skrivningar tills minnet frigörs. Lösningen på sådana problem skulle vara att konfigurera Redis med max minne och viss vräkningspolicy. I det här fallet börjar servern vräka ut nycklar med hjälp av eviction policy när minnesanvändningen når max.

Memory RSS (Resident Set Size) är antalet byte som operativsystemet har allokerat till Redis. Om förhållandet mellan "memory_rss" och "memory_used" är större än ~1,5, betyder det minnesfragmentering. Det fragmenterade minnet kan återställas genom att starta om servern.



  1. Infoga en lista i en annan lista i Redis

  2. StackExchange.Redis hur man prenumererar på flera kanaler

  3. MongoDB:uppdatera varje dokument på ett fält

  4. Bygga en skalbar process med NiFi, Kafka och HBase på CDP