[发明专利]一种动态分配内存的方法及系统在审
申请号: | 201710486098.X | 申请日: | 2017-06-23 |
公开(公告)号: | CN107273212A | 公开(公告)日: | 2017-10-20 |
发明(设计)人: | 孙京本;刘如意;李佩 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/455 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 王宝筠 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态分配 内存 方法 系统 | ||
技术领域
本发明涉及虚拟化内存分配技术领域,特别是涉及一种动态分配内存的方法及系统。
背景技术
虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,即:在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
目前采用内存气球技术实现宿主机对虚拟机的内存分配,宿主机通过监控所有虚拟机的内存使用情况,对内存使用较高的虚拟机动态增加内存,内存使用较低的虚拟机动态释放内存。当虚拟机的内存不够用时,内存气球通过压缩,宿主机向虚拟机分配更多的内存使用。在进行虚拟机配置时设置内存的最大内存值MAX,通过free命令查看内存使用情况,且看到的内存容量是虚拟机当前能够使用的内存情况,但是分配给虚拟机的最大内存不能超过虚拟机配置时分配给虚拟机的最大内存值MAX。如图1所示,可用内存值Vm为虚拟机当前已经使用和可以使用的内存容量之和,内存最大值MAX为虚拟机配置时设置的最大内存容量,当虚拟机的可用内存值Vm不够用时,宿主机需要分配更多的内存给虚拟机,但是可用内存值Vm最大不能超过最大内存值MAX。另外,当虚拟化平台上运行多个虚拟机时,多个虚拟机的内存通过宿主机进行分配,但若多个虚拟机同时都需要增加内存时,可能导致宿主机的可用内存太小,影响宿主机的性能,最终影响虚拟机的性能。
发明内容
本发明的目的在于提出一种动态分配内存的方法及系统,以解决现有技术中当虚拟机的可用内存不够用时,宿主机分配给虚拟机的最大内存不能超过配置时设置的最大内存值MAX;另外,若多个虚拟机同时都需要增加内存时,可能导致宿主机的可用内存太小,影响宿主机的性能,最终影响虚拟机性能的问题。
为达到上述目的,本发明提供了以下技术方案:
一种动态分配内存的方法,应用于宿主机,所述宿主机中运行有多个虚拟机,所述方法包括:
构建多个所述虚拟机的内存使用监控表,并同步到所述虚拟机的域配置文件;
实时监控所述宿主机和多个所述虚拟机的内存使用率;
根据所述宿主机和多个所述虚拟机的所述内存使用率动态分配所述虚拟机的最大内存容量;
当所述虚拟机的内存使用率高于第一预设值时,判断所述宿主机的内存使用率,若所述宿主机的内存使用率低于第二预设值时,增加分配给所述虚拟机的最大内存容量,并记录到所述虚拟机的内存使用监控表,且同步至所述域配置文件;
当所述虚拟机的内存使用率低于第三预设值时,降低分配给所述虚拟机的最大内存容量,并记录到所述虚拟机的内存使用监控表,且同步至所述域配置文件。
其中,所述构建多个所述虚拟机的内存使用监控表,并同步到所述虚拟机的域配置文件,包括:
查询在所述宿主机上所有运行状态为运行的虚拟机;
记录所述虚拟机的初始信息到所述内存使用监控表,所述初始信息包括:所述虚拟机的名称、ID地址、配置时设置的最大内存值;
将所述内存使用监控表同步至所述虚拟机的域配置文件。
其中,所述当所述虚拟机的内存使用率高于第一预设值时,判断所述宿主机的内存使用率,若所述宿主机的内存使用率低于第二预设值时,增加分配给所述虚拟机的最大内存容量,并记录到所述虚拟机的内存使用监控表,且同步至所述域配置文件,包括:
当所述虚拟机的内存使用率高于所述第一预设值时,获取所述虚拟机的域配置文件中存储的最大内存量MAX,得到需要给所述虚拟机增加的内存容量为所述最大内存量MAX的1/2;
计算所述宿主机给所述虚拟机增加了内存后,判断所述宿主机剩余的内存使用率,若所述宿主机剩余的内存使用率低于所述第二预设值,调用扩容函数调整所述虚拟机的最大内存值为1.5MAX;
将调整后的内存容量更新至所述虚拟机的内存使用监控表,并同步至所述虚拟机的域配置文件。
其中,所述当所述虚拟机的内存使用率低于第三预设值时,降低分配给所述虚拟机的最大内存容量,并记录到所述虚拟机的内存使用监控表,且同步至所述域配置文件,包括:
当所述虚拟机的内存使用率低于所述第三预设值时,获取所述虚拟机的域配置文件中存储的最大内存量MAX,则减少的内存容量为所述最大内存量MAX的1/2;
调用缩容函数调整所述虚拟机的最大内存值为0.5MAX;
将调整后的内存容量更新至所述虚拟机的内存使用监控表,并同步至所述虚拟机的域配置文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710486098.X/2.html,转载请声明来源钻瓜专利网。