English
内存管理文档¶
这是了解 Linux 内存管理子系统的指南。如果您正在寻找关于简单内存分配的建议,请参阅《内存分配指南》。有关控制和调优指南,请参阅《管理员指南》。
注意
遗憾的是,本指南的部分内容尚不完整或缺失。虽然我们感谢贡献,但该领域的文档很难编写正确,并且需要非常关注细节。新的贡献者应该尽早联系相关的维护者。
本指南旨在反映实际情况,这要求贡献者具备深入的理解。由不熟悉这些细节的贡献者使用大语言模型(LLM)生成的文档会将真正的工作转移给审查者,因此此类贡献将被直接拒绝,恕不另作评论。
未整理的文档¶
这是关于 Linux 内存管理(MM)子系统内部机制的未整理文档集合,包含不同详细程度的内容,从笔记和邮件列表回复,到对数据结构和算法的详细说明。所有这些文档都应该被很好地整合到上述结构化文档中,或者在完成其使命后被删除。
- 活动内存管理 (Active MM)
- 内存分配分析
- 体系结构页表辅助函数
- 内存平衡
- DAMON:数据访问监控和访问感知系统操作
- 空闲页面报告
- 异构内存管理 (HMM)
- hwpoison(硬件错误内存页处理)
- Hugetlbfs 预留
- 内核同页合并 (KSM)
- 物理内存模型
- 通过 LUO 进行 Memfd 保存
- 何时需要在页表锁内通知?
- 多代 LRU
- 什么是 NUMA?
- 过量使用统计 (Overcommit Accounting)
- 页面迁移
- 页面碎片
- page owner:跟踪每个页面由谁分配
- 页表检查
- remap_file_pages() 系统调用
- 分割页表锁
- 透明大页支持
- 不可回收 LRU 基础设施
- 虚拟映射内核栈支持
- 用于 HugeTLB 和 Device DAX 的 vmemmap 精简
- zsmalloc