The invention relates to the field of virtual machine memory management, in particular to a memory and Swap space based on virtual machine dynamic memory management system and method of the invention, in order to solve the virtual machine memory scheduling algorithm existing in the use of Swap space will cause system performance loss, and use only the band monitoring in the virtual machine memory monitor, the the performance of virtual machine, reduce security risks high, and put forward a kind of memory and Swap space based on virtual machine dynamic memory management system and method. The system of the invention comprises a monitoring module, set in the privileged domain in a computation module and execution module, wherein the monitoring module is used for sending data to be read to the address of the virtual machine, virtual machine receives the read data and return to; to be read is also used to send data to the calculation module. The computing module is used to calculate the size of the target memory that should be allocated for the virtual machine. The execution module regulates the memory of the virtual machine based on the size of the target memory. The invention is suitable for the memory dynamic management tool.
【技术实现步骤摘要】
一种基于内存和Swap空间的虚拟机内存动态管理系统及方法
本专利技术涉及虚拟机内存管理领域,具体涉及一种基于内存和Swap空间的虚拟机内存动态管理系统及方法。
技术介绍
虚拟机内存动态管理的研究主要分为内存管理机制和动态调度算法,其中内存管理机制包括内存监控方式和内存调度工具,动态调度算法是指在虚拟机运行过程中对其进行内存分配的决策机构。内存管理机制中的内存监控方式主要有传统的内部监控和当下流行的带外监控,内部监控是指在虚拟机内部安装信息采集插件,将信息发送到外部,这往往会带来一些安全隐患,并且一定程度上降低虚拟机运行性能。带外监控是指在虚拟机外部,直接来获取虚拟机内存等信息,这种方法比较安全高效,更多的应用在虚拟机监控的研究中,却很少出现在虚拟机内存管理的架构中。内存调度工具比较流行的是气球驱动机制,这是一个运行在虚拟机端的程序,由虚拟机管理器直接管理。在虚拟机内存动态调度算法的研究中,自适应的内存调度算法一般都是根据虚拟机的内存状态做出相应决策,但是很少考虑到Swap空间的使用量带来的影响。
技术实现思路
本专利技术的目的是为了解决现有的虚拟机内存调度算法在使用Swap空间时会造成系统性能损耗,并且在虚拟机内存监控中仅使用带内监控,使得虚拟机运行性能降低、安全隐患高的缺点,而提出一种基于内存和Swap空间的虚拟机内存动态管理系统及方法。一种基于内存和Swap空间的虚拟机内存动态管理系统,包括设置在特权域中的监控模块、计算模块以及执行模块,其中,监控模块,用于向虚拟机发出待读取数据的地址,并接收虚拟机返回的待读取数据;还用于将待读取数据发送至计算模块。计算模 ...
【技术保护点】
一种基于内存和Swap空间的虚拟机内存动态管理系统,其特征在于,包括设置在特权域中的监控模块、计算模块以及执行模块,其中,监控模块,用于向虚拟机发出待读取数据的地址,并接收虚拟机返回的待读取数据;还用于将待读取数据发送至计算模块;计算模块,用于在接收到待读取数据后,计算应当为虚拟机分配的目标内存大小;执行模块,用于根据所述目标内存大小,调节虚拟机的内存。
【技术特征摘要】
1.一种基于内存和Swap空间的虚拟机内存动态管理系统,其特征在于,包括设置在特权域中的监控模块、计算模块以及执行模块,其中,监控模块,用于向虚拟机发出待读取数据的地址,并接收虚拟机返回的待读取数据;还用于将待读取数据发送至计算模块;计算模块,用于在接收到待读取数据后,计算应当为虚拟机分配的目标内存大小;执行模块,用于根据所述目标内存大小,调节虚拟机的内存。2.根据权利要求1所述的基于内存和Swap空间的虚拟机内存动态管理系统,其特征在于:所述监控模块为LibVMI工具。3.根据权利要求1或2所述的基于内存和Swap空间的虚拟机内存动态管理系统,其特征在于,计算模块具体包括:第一计算单元,用于当时,判断活跃内存最大的虚拟机的活跃内存Tm是否等于所有虚拟机的活跃内存平均值其中Ti为第i个虚拟机的活跃内存;N为所有运行虚拟机的总内存量;n为虚拟机数量;若Tm与不相等,则虚拟机下一时刻的目标内存分配参数τ的计算公式为若此时计算出的τ值小于0,则将τ值赋为0;若此时计算出的τ值大于1,则将τ值赋为1;其中ξ为根据经验设置的预留空间;若Tm与相等,则将τ值赋为1;将确定后的τ值带入公式求得目标内存Nti;第二计算单元,用于当时,对每一个虚拟机根据公式计算初步目标内存Nti′;其中N′=N-n·x,Ti′=Ti-x,x为预先设置的为每个虚拟机分配的最小内存;还用于统计所有初步目标内存为负数的虚拟机的总初步目标内存量的绝对值Seat;还用于将Nti′进行处理,将处理后的值记为Nti″,如果Nti′<0,那么令Nti″=0;如果Nti′>0,那么令Nti″=Nti′。还用于根据公式计算编号为i的虚拟机应该归还的内存量Seati;其中N″为初步目标内存为正值的虚拟机的总初步目标内存;还用于根据公式Nti=Nti″-Seati+x求得目标内存Nti。4.根据权利要求3所述的基于内存和Swap空间的虚拟机内存动态管理系统,其特征在于:第一计算单元中,根据经验设置的预留空间ξ为100MB至150MB;第二计算单元中,预先设置的为每个虚拟机分配的最小内存x为150MB。5...
【专利技术属性】
技术研发人员:张伟哲,何慧,王德胜,谢虎成,刘亚维,余翔湛,郝萌,鲁刚钊,白恩慈,
申请(专利权)人:哈尔滨工业大学,
类型:发明
国别省市:黑龙江,23
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。