近乎一本书的虚拟内存长文:页表、TLB、NUMA 与性能优化全拆解
abhi9u · x · 2026-09-06
Abhinav Upadhyay(Coding Confessions 作者)发布一篇耗 时数月、篇幅接近一本书的虚拟内存深度长文,并提供 60 页排版精良的 PDF/EPUB 版本。文章从第一性原理讲起,覆盖:
- 虚拟内存为何存在:进程隔离、内存保护与「内存充裕」的假象。
- 核心机制:页表、TLB、缺页中断。TLB 命中时地址转换几乎零开销,但大数据集随机访问会导致 TLB miss 频发、被迫查页表——这正是连续布局数组、缩小数据结构等优化有效的深层原因(改善的不只是 CPU cache,还有虚拟内存局部性)。
- 多核与 NUMA:各核持有独立 TLB,修改页表需要 TLB shootdown 使其他核的缓存失效;NUMA 下同一份数据,离 CPU 近的 RAM 访问远快于远的。
- 实战话题:demand paging 惰性分配、写时复制与 fork、mmap 绕过 page cache 拷贝、页回收/swap/huge pages 对数据密集型系统性能的影响。
文末附带链接到完整文章与离线阅读版本。
「Infra」频道最新
- 实测推翻论文数据:DiffusionGemma 峰值吞吐实为 3k tok/s,约为论文 3 倍 — bodonoghue85 · 2026-09-06
- 推理时给预训练 LLM 加滑窗注意力,64K 上下文 KV 缓存仅 3.5MB — ahsaor8 · 2026-09-06
- 作者为 HF LLM 推理实现滑窗注意力,实测 32K 上下文 KV 缓存 3.5MB — ahsaor8 · 2026-09-06
- 做一个比价面板,帮你找到跑 MiniMax H3 最便宜的 GPU — CategoryFew5869 · 2026-09-06
- 16GB 显存跑 Qwen3.8 本地模型做村庄模拟游戏,75 t/s 出字 — Fancy-Snow7 · 2026-09-06
- 美国高尔夫球场年用水是全部数据中心总和的 30 倍 — MaxUnfried · 2026-09-06