ERR Can't save in background: fork failed: Background save failed: fork failed (échec de la sauvegarde en arrière-plan : échec du fork)
RedisQue 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.
Autres entrées pour ce moteur
- ERR unknown subcommandERR unknown subcommand or wrong number of arguments (sous-commande inconnue ou nombre d'arguments erroné)
- 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 appelé sans mot de passe configuré)
- 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) (option ou nombre d'arguments inconnu pour 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 (le script Lua a tenté d'accéder à une variable globale inexistante)