KVM客户机主动共享的内存超量使用策略研究
杭州电子科技大学 杜炜
本文提出了新的超量使用内存策略,即以修改客户机系统内核的方式使客户机主动提出与物理机共享其中未使用部分内存,以修改物理机上KVM模块的方式回收客户机愿意共享部分的内存,从而排除此部分客户机内存对物理机内存调度算法的干扰。本策略可充分利用现有KVM平台的各种策略模拟操作系统级虚拟化技术的内存管理特点,保留物理机操作系统的页面交换策略,让其感知客户机操作系统的内存访问频率;以KSM策略合并客户机中重复页面的方式模拟操作系统级虚拟化中的加载程序或文件的去重特点;以本设计回收客户机中未使用内存的方式模拟操作系统级虚拟化中客户机程序将未使用内存释放回物理机操作系统内核内存管理单元;以本设计关于客户机操作系统内核物理内存页块优先级的处理模拟操作系统级虚拟化中统一的伙伴页块链表管理。在与其他现有的内存超量使用策略对比时,本文提出了基于微观内存页面行为的模型,随后展开介绍了两种不同的设计方案和内存外部碎片对本设计的影响,最后通过KVM虚拟化平台下模拟内存占用的实验论证了本设计可取得良好的效果。宏观测试实验部分从系统整体的角度对比了开启与未开启IMR策略的情况下,客户机启动与动态内存使用场景下物理机内存使用,以及物理机交换区空间使用状态方面的差别。