虚拟机共享内核内存的方法及装置制造方法及图纸

技术编号:24251300 阅读:62 留言:0更新日期:2020-05-22 23:27
本发明专利技术涉及一种虚拟机共享内核内存的方法及装置,属于计算机技术领域。该方法包括:启动第一虚拟机,第一虚拟机具有用于第一虚拟机物理地址到宿主机物理地址的映射的第一二维页表,并且第一虚拟机的内核被加载和锁定在宿主机物理内存中;启动第二虚拟机,第二虚拟机具有用于第二虚拟机物理地址到宿主机物理地址的映射的第二二维页表,第二二维页表映射到第一虚拟机的内核在宿主机物理内存中的地址;以及当接收到第二虚拟机的写内存操作时,在宿主机物理内存中分配用于写内存操作的新内存页,并且更新第二二维页表。通过本发明专利技术能够减少众多同内核虚拟机的内核内存开销,以节省内存空间,提升内存利用率。

Method and device of virtual machine sharing kernel memory

【技术实现步骤摘要】
虚拟机共享内核内存的方法及装置
本公开涉及计算机
,更具体地,涉及一种虚拟机共享内核内存的方法及装置。
技术介绍
随着无服务器化(serverless)、功能即服务(FaaS)以及云计算虚拟化等新的云计算模式的出现,在一台物理机上可能同时运行几百个、甚至上千个轻量级虚拟机,而这些虚拟机的虚拟机系统(GuestOS)内核都相同,大量虚拟机的内核占据较大内存空间,造成内存空间浪费。
技术实现思路
有鉴于此,本公开实施例的目的在于提供一种虚拟机共享内核内存的方法及装置,旨在减少众多同内核虚拟机的内核内存开销,以节省内存空间,提升内存利用率。根据本公开的第一方面,提供一种虚拟机共享内核内存的方法,包括:启动第一虚拟机,所述第一虚拟机具有用于第一虚拟机物理地址到宿主机物理地址的映射的第一二维页表,并且所述第一虚拟机的内核被加载和锁定在宿主机物理内存中;启动第二虚拟机,所述第二虚拟机具有用于第二虚拟机物理地址到宿主机物理地址的映射的第二二维页表,所述第二二维页表映射到所述第一虚拟机的内核在宿主机物理内存中的地址,使得所述第本文档来自技高网...

【技术保护点】
1.一种虚拟机共享内核内存的方法,包括:/n启动第一虚拟机,所述第一虚拟机具有用于第一虚拟机物理地址到宿主机物理地址的映射的第一二维页表,并且所述第一虚拟机的内核被加载和锁定在宿主机物理内存中;/n启动第二虚拟机,所述第二虚拟机具有用于第二虚拟机物理地址到宿主机物理地址的映射的第二二维页表,所述第二二维页表映射到所述第一虚拟机的内核在宿主机物理内存中的地址,使得所述第一虚拟机和所述第二虚拟机共享内核内存;以及/n当接收到所述第二虚拟机的写内存操作时,在宿主机物理内存中分配用于所述写内存操作的新内存页,并且更新所述第二二维页表。/n

【技术特征摘要】
1.一种虚拟机共享内核内存的方法,包括:
启动第一虚拟机,所述第一虚拟机具有用于第一虚拟机物理地址到宿主机物理地址的映射的第一二维页表,并且所述第一虚拟机的内核被加载和锁定在宿主机物理内存中;
启动第二虚拟机,所述第二虚拟机具有用于第二虚拟机物理地址到宿主机物理地址的映射的第二二维页表,所述第二二维页表映射到所述第一虚拟机的内核在宿主机物理内存中的地址,使得所述第一虚拟机和所述第二虚拟机共享内核内存;以及
当接收到所述第二虚拟机的写内存操作时,在宿主机物理内存中分配用于所述写内存操作的新内存页,并且更新所述第二二维页表。


2.如权利要求1所述的方法,所述方法还包括在启动所述第一虚拟机后暂停所述第一虚拟机。


3.如权利要求1所述的方法,还包括将所述第二二维页表的每一个表项的权限初始化为只读。


4.如权利要求1所述的方法,其中,更新所述第二二维页表包括:
使得与所述写内存操作相关的表项映射到所述新内存页的宿主机物理内存地址,并修改所述表项的权限为可读可写。


5.如权利要求1-4任一项所述的方法,其中,所述第二虚拟机还具有转译后备缓冲器TLB,所述TLB用于所述第二虚拟机的虚拟机虚拟地址到宿主机物理地址的映射,所述方法还包括更新所述TLB,使得与所述写内存操作相关的虚拟机虚拟地址映射到所述新内存页的宿主机物理内存地址。


6.如权利要求1-4任一项所述的方法,其中,所述二维页表包括扩展页表、嵌套页表、二级页表之一。


7.一种虚拟机共享内核内存的装置,包括:
第一启动单元,被配置用于启动第一虚拟机,所述第一虚拟机具有用于第一虚拟机物理地址到宿主机物理地...

【专利技术属性】
技术研发人员:藏洪永
申请(专利权)人:海光信息技术有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1