ERR Can't save in background: fork failed: Background save failed: fork failed
RedisO que significa?
O Redis não conseguiu criar um processo filho (fork) para um snapshot RDB em segundo plano ou uma reescrita do AOF. Como a persistência não pode ser executada, os dados não podem ser gravados em disco.
Por que acontece?
O sistema operacional não consegue alocar memória suficiente para o fork; geralmente o overcommit_memory está desabilitado e o sistema recusa quando o Redis tenta reservar aproximadamente uma cópia da memória que utiliza. Memória física/virtual insuficiente ou limites de quantidade de processos também podem causá-lo.
Como resolver
Habilite o overcommit de memória no Linux: sysctl vm.overcommit_memory=1 (adicione ao /etc/sysctl.conf para torná-lo permanente). Adicione memória ao servidor ou reduza o uso de memória do Redis (maxmemory). Disponibilize espaço de swap suficiente. Verifique os limites de processos/descritores de arquivo (ulimit). Se a persistência for crítica, não vá para produção sem essas configurações.
Mais entradas deste banco
- ERR unknown subcommandERR unknown subcommand or wrong number of arguments
- ERR Client sent AUTH, but no password is setERR AUTH <password> called without any password configured for the default user (Redis 6+) / ERR Client sent AUTH, but no password is set (Redis <6)
- ERR DEBUG command not allowedDEBUG command not allowed
- NOPROTO unsupported protocol versionUnsupported RESP protocol version
- ERR Unknown option or number of arguments for CONFIG SETUnknown option or number of arguments for CONFIG SET (older versions: Unsupported CONFIG parameter) (opção ou número de argumentos desconhecidos para CONFIG SET)
- ERR MULTI calls can not be nestedMULTI calls can not be nested
- ERR Lua script attempted to access nonexistent global variableLua script attempted to access a nonexistent global variable (o script Lua tentou acessar uma variável global inexistente)