DBAtlas · Atlas für Datenbankbetrieb

ERR Can't save in background: fork failed: Background save failed: fork failed

Redis

Was 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.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank