[发明专利]调整虚拟机存储器的方法和系统有效
申请号: | 201310585908.9 | 申请日: | 2013-11-20 |
公开(公告)号: | CN103838633B | 公开(公告)日: | 2017-06-13 |
发明(设计)人: | M·H·道森;C·R·格雷西;G·D·詹森 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/455 |
代理公司: | 中国国际贸易促进委员会专利商标事务所11038 | 代理人: | 吴信刚 |
地址: | 美国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 动态 虚拟机 存储器 调整 避免 内存不足 | ||
技术领域
本发明涉及虚拟机工作集存储器空间。更具体而言,本发明涉及在动态虚拟机存储器调整中避免内存不足(out-of-memory)。
背景技术
虚拟机可以在硬件平台上执行,所述硬件平台允许虚拟机就好像虚拟机是硬件计算设备一样地执行程序/进程。硬件平台可以允许多个单独的虚拟机共存。每一个虚拟机都可以具有其自己的存储器空间、操作系统实例、以及资源集,或可以共享某些资源。
发明内容
一种方法包括:通过处理器,检测相对于与应用程序存储器分配的存储器堆(heap)相关联的调整的堆最大大小的未使用空闲存储器不足,其中,调整的堆最大大小被设置为小于最大堆分配大小的堆大小;计算解决所述未使用空闲存储器不足的对所述调整的堆最大大小的增大量;以及将所述调整的堆最大大小增大所述计算出的对所述调整的堆最大大小的增大量。
一种系统包括存储器以及被编程为执行下列操作的处理器:检测相对于与存储器内的应用程序存储器分配的存储器堆相关联的调整的堆最大大小的未使用空闲存储器不足,其中,调整的堆最大大小被设置为小于最大堆分配大小的堆大小;计算解决所述未使用空闲存储器不足的对所述调整的堆最大大小的增大量;以及将所述调整的堆最大大小增大所述计算出的对所述调整的堆最大大小的增大量。
一种计算机程序产品包括实现有计算机可读程序代码的计算机可读存储介质,其中,计算机可读程序代码当在计算机上执行时使计算机:检测相对于与应用程序存储器分配的存储器堆相关联的调整的堆最大大小的未使用空闲存储器不足,其中,调整的堆最大大小被设置为小于最大堆分配大小的堆大小;计算解决所述未使用空闲存储器不足的对所述调整的堆最大大小的增大量;以及将所述调整的堆最大大小增大所述计算出的对所述调整的堆最大大小的增大量。
附图说明
图1是根据本主题的一实施例的用于在动态虚拟机存储器调整中避免内存不足的系统的实现的示例的框图;
图2是根据本主题的一实施例的在动态虚拟机存储器调整中能够执行内存不足避免的核处理模块的实现的示例的框图;
图3是根据本主题的一实施例的用于在动态虚拟机存储器调整中避免内存不足的消息流的实现的示例的消息流图示;
图4是根据本主题的一实施例的用于在动态虚拟机存储器调整中避免内存不足的过程的实现的示例的流程图;
图5A是根据本主题的一实施例的用于在动态虚拟机存储器调整中避免内存不足的过程内的初始处理的实现的示例的流程图;以及
图5B是根据本主题的一实施例的用于在动态虚拟机存储器调整中避免内存不足的过程内的另外的处理的实现的示例的流程图。
具体实施方式
下面阐述的示例表示使本领域技术人员能实施本发明的必要信息,并示出了实施本发明的最佳模式。在参考附图阅读下面的描述之后,所属领域的技术人员将理解本发明的概念,并将认识到此处没有特别阐明的这些概念的应用。应该理解,这些概念和应用落在本公开和附带的权利要求的范围内。
本文描述的主题提供在动态虚拟机存储器调整中避免内存不足。本技术在虚拟机和垃圾回收器之间提供协作交互,以使虚拟机可以在不需要时使用较少的操作系统(OS)存储器,而不会在需要更多存储 器时阻止虚拟机使用更多存储器。为实现本技术,添加了回调例程,当内存不足(out-of-memory,OOM)错误即将发生或已经发生时,由垃圾回收器(GC)触发该回调例程。回调例程可以通过内存不足处理程序进程/模块来实现。响应于判断内存不足(OOM)状况即将发生(或已经发生),垃圾回收器调用回调例程,表示OOM状况即将来临。当回调例程被调用时,确定使应用程序继续运行所需的存储器的量。可以执行处理以确定修改工作集的最大大小所需的增大的存储器的量(增大的工作集大小调整)。回调例程的调用可以可任选地包括分配所需的存储器的量,可以通过对回调本身的分析来执行工作集的确定的增大的大小调整。通过回调内存不足处理程序,添加可用存储器,用于应用程序执行。取决于用来调整可用堆存储器的技术,回调的内存不足处理程序将调整的最大大小向上移动确定的量,或者给消耗堆空间的气球放气达确定的量,以增加可用存储器供应用程序执行。然后,回调的内存不足处理程序被允许请求重试存储器分配。可以使用回调例程的返回值来允许处理回调的进程请求GC响应于对虚拟机的分配的最大存储器的调整而重试分配尝试。如此,在对可用于虚拟机分配给应用程序的堆存储器的动态调整的上下文中,可以避免内存不足状况。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310585908.9/2.html,转载请声明来源钻瓜专利网。