虚拟机——KSM Kernel Samepage Merging

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技术可以直接将虚拟机的物理地址翻译为宿主机的物理地址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值