[发明专利]一种虚拟机内存分配方法、装置及系统有效
申请号: | 201810832114.0 | 申请日: | 2018-07-26 |
公开(公告)号: | CN109002347B | 公开(公告)日: | 2022-02-18 |
发明(设计)人: | 高峰 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟机 内存 分配 方法 装置 系统 | ||
本申请实施例公开了一种虚拟机内存分配方法、装置及系统,所述方法包括轮询查询所述物理机上所有虚拟机的内存使用状态;当查询到任一虚拟机上存在未使用的内存块时,将所述未使用的内存块释放至所述未分配内存池;当任一虚拟机进行内存操作时,将所述未分配内存池中的未分配内存分配给所述虚拟机使用。采用本申请实施例所提供的技术方案,使用物理机内存过载和虚拟机内存回收机制,有效的提高了物理机的内存使用率,增加了集群整体的效率。
技术领域
本申请涉及计算机技术领域,特别是涉及一种虚拟机内存分配方法、装置及系统。
背景技术
虚拟化是一种能够充分利用物理资源,通过互联网实现资源共享的物理模型。通过虚拟化技术可以对资源进行动态分配,实现按需的资源与服务。虚拟机(VirtualMachine,VM)是利用虚拟化技术模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟机是云计算平台,以及计算机硬件复用的基础,多台虚拟机可以并发运行在同一台物理机上,增加物理机的使用率。
传统的虚拟机部署在物理机上的方式,是根据物理机的资源情况进行部署。例如物理主机有16G内存,预留出1G内存用于物理主机本身操作系统的运行,其余15G可供虚拟机应用。假设一个虚拟机使用1.5G内存,则最多可以创建并运行10个同等规模的虚拟机。由于虚拟机内存并不一定是在使用中,真实的运行场景中,可能会有大部分内存空间闲置,造成资源的浪费。
发明内容
本申请实施例中提供了一种虚拟机内存分配方法、装置及系统,以解决现有技术中物理机内存空间浪费的问题。
第一方面,本申请实施例提供了一种虚拟机内存分配方法,物理机上配置有未分配资源池,所述方法包括:
轮询查询所述物理机上所有虚拟机的内存使用状态;
当查询到任一虚拟机上存在未使用的内存块时,将所述未使用的内存块释放至所述未分配内存池;
当任一虚拟机进行内存操作时,将所述未分配内存池中的未分配内存分配给所述虚拟机使用。
优选地,所述物理机上还配置有交换分区swap,所述当任一虚拟机进行内存操作时,将所述未分配内存池中的未分配内存分配给所述虚拟机使用,包括:
当任一虚拟机进行内存操作时,若所述未分配内存池中存在未分配内存,则将所述未分配内存分配给所述虚拟机使用;
若所述未分配内存池中不存在未分配内存,则将所述交换分区swap中的内存分配给所述虚拟机使用。
优选地,所述交换分区swap中的内存用于存储调用频率低于预设频率阈值的数据。
优选地,所述物理机的内存过载系数k∈(1.2,2.0),其中,k=(a+b)/a,a为所述物理机的内存空间,b为交换分区swap的内存空间。
第二方面,本申请实施例提供了一种虚拟机内存分配装置,物理机上配置有未分配资源池,所述装置包括:
查询模块,用于轮询查询所述物理机上所有虚拟机的内存使用状态;
释放模块,用于当查询到任一虚拟机上存在未使用的内存块时,将所述未使用的内存块释放至所述未分配内存池;
分配模块,用于当任一虚拟机进行内存操作时,将所述未分配内存池中的未分配内存分配给所述虚拟机使用。
优选地,所述物理机上还配置有交换分区swap,所述分配模块,具体用于:
当任一虚拟机进行内存操作时,若所述未分配内存池中存在未分配内存,则将所述未分配内存分配给所述虚拟机使用;
若所述未分配内存池中不存在未分配内存,则将所述交换分区swap中的内存分配给所述虚拟机使用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810832114.0/2.html,转载请声明来源钻瓜专利网。