Linux kernel组织管理物理内存的方式是buddy system(伙伴系统),而物理内存碎片正式buddy system的弱点之一,为了预防以及解决碎片问题,kernel采取了一些实用技术,这里将对这些技术进行总结归纳. 1 低内存时整合碎片 从buddy申请内存页,如果找不到合适的页,则会进行两步调整内存的工作,compact和reclaim.前者是为了整合碎片,以得到更大的连续内存:后者是回收不一定必须占用内存的缓冲内存.这里重点了解comact,整个流程大致如下: __alloc_