DBAtlas · 数据库运维图谱

ERR Can't save in background: fork failed: Background save failed: fork failed(后台保存失败:fork 失败)

Redis

含义

Redis 无法为后台 RDB 快照或 AOF 重写创建子进程(fork)。由于持久化无法运行,数据无法写入磁盘。

原因

操作系统无法为 fork 分配足够的内存;通常是禁用了 overcommit_memory,当 Redis 试图预留大约一份其所用内存的副本时,系统拒绝。物理/虚拟内存不足或进程数限制也可能导致此问题。

解决方法

在 Linux 上启用内存超额分配:sysctl vm.overcommit_memory=1(添加到 /etc/sysctl.conf 中使其永久生效)。为服务器增加内存或降低 Redis 内存使用量(maxmemory)。提供足够的交换空间。检查进程/文件描述符限制(ulimit)。如果持久化至关重要,在没有这些设置的情况下不要上线生产。

在 DBAtlas 中打开 →

同一数据库的其他条目