DBAtlas · Atlas de operaciones de bases de datos

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.

Abrir en DBAtlas →

Más entradas de este motor