DBAtlas · Атлас эксплуатации баз данных

ERR Can't save in background: fork failed: Background save failed: fork failed

Redis

Что это значит?

Redis не удалось создать дочерний процесс (fork) для фонового снимка RDB или перезаписи AOF. Поскольку персистентность не может работать, данные не могут быть записаны на диск.

Почему возникает?

Операционная система не может выделить достаточно памяти для fork; обычно отключён overcommit_memory, и система отказывает, когда Redis пытается зарезервировать примерно копию используемой им памяти. Причиной также может быть нехватка физической/виртуальной памяти или лимиты числа процессов.

Как исправить

Включите overcommit памяти в Linux: sysctl vm.overcommit_memory=1 (добавьте в /etc/sysctl.conf, чтобы сделать постоянным). Добавьте памяти серверу или снизьте использование памяти Redis (maxmemory). Обеспечьте достаточный объём swap. Проверьте лимиты процессов/дескрипторов файлов (ulimit). Если персистентность критична, не выходите в продуктив без этих настроек.

Открыть в DBAtlas →

Ещё по этой СУБД