ERR Can't save in background: fork failed: Background save failed: fork failed
RedisWas bedeutet das?
Redis konnte für einen RDB-Snapshot im Hintergrund oder ein AOF-Rewrite keinen Kindprozess (fork) erzeugen. Da die Persistenz nicht laufen kann, können keine Daten auf die Platte geschrieben werden.
Ursache
Das Betriebssystem kann für den Fork nicht genug Speicher bereitstellen; meist ist overcommit_memory deaktiviert und das System verweigert, wenn Redis ungefähr eine Kopie seines belegten Speichers reservieren will. Auch zu wenig physischer/virtueller Speicher oder Limits für die Prozessanzahl können die Ursache sein.
Lösung
Aktiviere unter Linux Memory Overcommit: sysctl vm.overcommit_memory=1 (füge es zu /etc/sysctl.conf hinzu, um es dauerhaft zu machen). Erweitere den Speicher des Servers oder senke den Speicherverbrauch von Redis (maxmemory). Stelle ausreichend Swap bereit. Prüfe Limits für Prozesse/Dateideskriptoren (ulimit). Ist Persistenz kritisch, gehe ohne diese Einstellungen nicht in Produktion.
Weitere Einträge zu dieser Datenbank
- ERR unknown subcommandERR unknown subcommand or wrong number of arguments (unbekannter Unterbefehl oder falsche Argumentanzahl)
- 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 ohne konfiguriertes Passwort)
- 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 (ältere Versionen: Unsupported CONFIG parameter)
- 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