内存碎片化
linux内存管理 以page为 单位进行管理,在系统长时间运行之后,造成有大量离散不连续的页面存在,这就是内存碎片化。
linux为减少内存碎片化做的努力
1. 使用了 buddy 伙伴系统来管理物理内存
2. 给每个页面定义了 MOVALBE属性,在内存碎片化压力比较大的时候可以 做内存规整
MOVABLE 内存页面可以移动,
RECLAIMABLE 内存页面可以直接进行回收
3.
内存迁移 一开始是为了 NUMA 系统中 task 可以完全迁移到 另一个 NUMA 节点中去,后来
也被 大量的应用于 内存热插拔 和 内存规整上
可以参考:
内存迁移
内存规整
KSM