DBAtlas · Atlas d'exploitation des bases de données

ERR Can't save in background: fork failed: Background save failed: fork failed (échec de la sauvegarde en arrière-plan : échec du fork)

Redis

Que signifie cette erreur ?

Redis n'a pas pu créer de processus enfant (fork) pour un snapshot RDB en arrière-plan ou une réécriture AOF. La persistance ne pouvant pas s'exécuter, les données ne peuvent pas être écrites sur disque.

Cause

Le système d'exploitation ne peut pas allouer assez de mémoire pour le fork ; en général overcommit_memory est désactivé et le système refuse lorsque Redis tente de réserver environ une copie de la mémoire qu'il utilise. Une mémoire physique/virtuelle insuffisante ou des limites du nombre de processus peuvent aussi en être la cause.

Comment la corriger

Activez l'overcommit mémoire sous Linux : sysctl vm.overcommit_memory=1 (ajoutez-le à /etc/sysctl.conf pour le rendre permanent). Ajoutez de la mémoire au serveur ou réduisez l'utilisation mémoire de Redis (maxmemory). Prévoyez un espace de swap suffisant. Vérifiez les limites de processus/descripteurs de fichiers (ulimit). Si la persistance est critique, ne passez pas en production sans ces réglages.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur