Commit d876678b authored by antirez's avatar antirez
Browse files

Set a 3.5 GB maxmemory limit with noeviction policy if a 32 bit instance...

Set a 3.5 GB maxmemory limit with noeviction policy if a 32 bit instance without user-provided memory limits is detected.
parent 75eaac5c
...@@ -1095,6 +1095,16 @@ void initServer() { ...@@ -1095,6 +1095,16 @@ void initServer() {
} }
} }
/* 32 bit instances are limited to 4GB of address space, so if there is
* no explicit limit in the user provided configuration we set a limit
* at 3.5GB using maxmemory with 'noeviction' policy'. This saves
* useless crashes of the Redis instance. */
if (server.arch_bits == 32 && server.maxmemory == 0) {
redisLog(REDIS_WARNING,"Warning: 32 bit instance detected but no memory limit set. Setting 3.5 GB maxmemory limit with 'noeviction' policy now.");
server.maxmemory = 3584LL*(1024*1024); /* 3584 MB = 3.5 GB */
server.maxmemory_policy = REDIS_MAXMEMORY_NO_EVICTION;
}
if (server.cluster_enabled) clusterInit(); if (server.cluster_enabled) clusterInit();
scriptingInit(); scriptingInit();
slowlogInit(); slowlogInit();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment