X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/24bc807b5c781ba0f8d0582d47bde237d6748a5d..c23c657cdd8696c66295962947b85c793c5d7b93:/src/config.c?ds=sidebyside diff --git a/src/config.c b/src/config.c index 2470f374..793c103b 100644 --- a/src/config.c +++ b/src/config.c @@ -445,7 +445,12 @@ void configSetCommand(redisClient *c) { if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt; server.maxmemory = ll; - if (server.maxmemory) freeMemoryIfNeeded(); + if (server.maxmemory) { + if (server.maxmemory < zmalloc_used_memory()) { + redisLog(REDIS_WARNING,"WARNING: the new maxmemory value set via CONFIG SET is smaller than the current memory usage. This will result in keys eviction and/or inability to accept new write commands depending on the maxmemory-policy."); + } + freeMemoryIfNeeded(); + } } else if (!strcasecmp(c->argv[2]->ptr,"maxmemory-policy")) { if (!strcasecmp(o->ptr,"volatile-lru")) { server.maxmemory_policy = REDIS_MAXMEMORY_VOLATILE_LRU;