ERR Can't save in background: fork failed: Background save failed: fork failed
Redis¿Qué significa?
Redis no pudo crear un proceso hijo (fork) para un snapshot RDB en segundo plano o una reescritura de AOF. Como la persistencia no puede ejecutarse, los datos no se pueden escribir en disco.
¿Por qué ocurre?
El sistema operativo no puede asignar memoria suficiente para el fork; normalmente overcommit_memory está deshabilitado y el sistema lo rechaza cuando Redis intenta reservar aproximadamente una copia de la memoria que usa. También puede deberse a memoria física/virtual insuficiente o a límites de número de procesos.
Cómo solucionarlo
Habilite el overcommit de memoria en Linux: sysctl vm.overcommit_memory=1 (añádalo a /etc/sysctl.conf para que sea permanente). Añada memoria al servidor o reduzca el uso de memoria de Redis (maxmemory). Proporcione suficiente espacio de swap. Revise los límites de procesos/descriptores de archivo (ulimit). Si la persistencia es crítica, no pase a producción sin estos ajustes.
Más entradas de este motor
- ERR unknown subcommandERR unknown subcommand or wrong number of arguments (subcomando desconocido o número de argumentos incorrecto)
- 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) (AUTH sin contraseña configurada)
- 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) (opción o número de argumentos desconocidos 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 (el script Lua intentó acceder a una variable global inexistente)