虚拟机——KSM Kernel Samepage Merging

KSM(Kernel Samepage Merging)是一种内存节省技术,通过比较和合并虚拟机内存中相同内容的页面,减少内存使用。该技术由KSM守护进程监控并定期扫描用户内存,使用madvise系统调用实现页面合并。EPT(扩展页表)则允许虚拟机直接映射到宿主机物理地址,提升性能。KSM的配置和控制位于sysfs文件系统下,可以调整以优化性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

KSM——Kernel Samepage Merging

  • KSM is a memory-saving de-duplication feature,将有相同数据的多个虚拟机通过共享共同数据的方式融合到物理内存中,从而达到节省内存的目的

  • 实现方式:KSM的守护进程会定期扫描已经注册的用户内存,寻找可以被一个单一的写保护的页替代的有相同内容的页面,ps.若有页面需要更改内容则会自动地copy共享页并更新它地内容

    • KSM的守护进程受 sysfs文件 /sys/kerne,l/mm/ksm 的控制 ps.一些常用的配置请参考官方教程
  • 实现原理:通过madvise进行系统回调,将application建议的可以被合并地地址空间进行合并

    • int madvise(addr,length,MADV_MERGEABLE)
    • app may call int madvise(addr,length,MADV_UNMERGEABLE)

    ref:https://www.kernel.org/doc/html/latest/admin-guide/mm/ksm.html

  • 相关额外知识补充:

    • 内存默认的页面大小是4KB,这样会产生较多的 TLB Miss 和 缺页中断,导致性能受到影响,而虚拟机可以通过分配大页提高运行性能,其通过EPT 技术实现
    • EPT技术:
      • EPT:扩展页表,Intel开创的硬件辅助内存虚拟化技术
      • EPT技术可以直接将虚拟机的物理地址翻译为宿主机的物理地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值