diff --git a/src/syscheck.c b/src/syscheck.c index 5f0b799e4..41545f0c1 100644 --- a/src/syscheck.c +++ b/src/syscheck.c @@ -150,9 +150,12 @@ int checkOvercommit(sds *error_msg) { } fclose(fp); - if (strtol(buf, NULL, 10) == 0) { + if (strtol(buf, NULL, 10) != 1) { *error_msg = sdsnew( - "overcommit_memory is set to 0! Background save may fail under low memory condition. " + "Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. " +#if defined(USE_JEMALLOC) + "Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. " +#endif "To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the " "command 'sysctl vm.overcommit_memory=1' for this to take effect."); return -1;