概述
在我们服务器虚拟化的场景下,存在众多虚拟机,也就意味着我们需要更多的内存供给虚拟机使用,可是在我们使用的过程中并没有将所有的内存都使用完毕。因此我们在服务器虚拟化的场景下,就常常开启智能内存复用技术来提高服务器的虚拟机密度。那么内存复用具体什么呢?
内存复用是指在服务器物理内存一定的情况下,通过综合运用内存复用单项技术(内存气泡、内存交换、内存共享)对内存进行分时复用。通过内存复用,使得虚拟机内存规格总和大于服务器规格内存总和,提高服务器中虚拟机密度。
通过内存复用技术将物理内存虚拟出更多的内存供虚拟机使用,使虚拟机内存规格总和可以大于主机物理内存,最终提高主机的虚拟机密度。内存复用三种方式:
内存共享:虚拟机之间共享同一物理内存空间,此时虚拟机仅对内存做只读操作,当虚拟机需要对内存进行写操作时,开辟另一内存空间,并修改映射
内存置换:虚拟机长时间未访问的内存内容被置换到存储中,并建立映射,当虚拟机再次访问该内存内容时再置换回来
内存气泡:Hypervisor 通过内存气泡将较为空闲的虚拟机内存释放给内存使用率较高的虚拟机,从而提升内存利用率
那么这几种技术具体如何实现的呢?
正如内存共享,我们众多虚拟机具有相同的操作系统,也具有相同的内存页,内存共享将这些相同的内存页统一在一起作为一个共享的页,供给多个虚拟机同时读取,即做到减少内存的使用,又能保证内存都可以被同时读取到。而内存置换是使用服务的SWAP空间与内存空间进行置换实现可以置换出多余的内存给其他的虚拟机所使用。而内存气泡的原理则是Balloon Driver从源虚拟机申请可用内存页面,通过Grant Table授权
最后
以上就是敏感宝贝为你收集整理的服务器虚拟化内存与物理内存关系,FusionCompute中的内存复用技术的全部内容,希望文章能够帮你解决服务器虚拟化内存与物理内存关系,FusionCompute中的内存复用技术所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复