首页/数据/Redis 进阶速查/fork 与写时复制(COW)机制
持久化56 条

fork 与写时复制(COW)机制

fork 瞬间内核复制父进程页表,父子共享物理页;子进程写数据时内核按页复制新副本,父进程继续写自己的新页,旧值保留给快照读取。

Redis 进阶速查数据更新于 2026-10-12
复制粒度内存页(通常 4KB)
开销页表拷贝,与内存量近似线性
指标INFO stats 的 latest_fork_usec

观测

观测
redis-cli INFO stats | Select-String latest_fork_usec
redis-cli INFO memory | Select-String used_memory_rss
快照期间写入越猛烈,被 COW 复制的页越多,RSS 上升越明显;批量导入数据时快照会放大内存占用。

易错点

  • latest_fork_usec 高企(数十万微秒)说明 fork 阻塞明显,需排查 THP 是否开启与内存规模
  • COW 导致的内存增长无法预测,快照期要预留余量,否则可能触发 OOM 或触发淘汰原则误伤数据

数据来源与参考

  • Redis 官方文档:BGSAVE 与 fork 行为说明
  • Linux man 2 fork(写时复制)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌