Skip to content
进阶

一句话答案

Page Cache 是 OS 将磁盘文件缓存在内存中的页,读写先走缓存,Kafka 高性能的重要原因之一。

核心要点

读: 先查 Page Cache → 命中直接返回 → 未命中从磁盘加载并缓存

写: 先写 Page Cache(脏页)→ 后台 pdflush 异步刷盘

应用: Kafka 高性能的重要原因之一(顺序写 Page Cache + sendfile)

追问与易错

追问方向:

  • 脏页刷盘策略?
  • PageCache 会导致数据丢失吗?
  • Kafka 为什么依赖 PageCache?

易错点:

  • ❌ PageCache 等于应用层缓存——是 OS 级别的
  • ❌ fsync 频繁调用没问题——开销大影响性能

💡 记忆锚点

PageCache像OS自带的"热菜窗口":磁盘是后厨(慢),内存是窗口(快)。读文件先看窗口有没有(命中直接拿),没有就让后厨做一份放到窗口。写文件先放窗口(脏页),后厨空闲时再入库(pdflush异步刷盘)。Kafka快就是因为顺序写这个窗口+sendfile直接端给客人。