[发明专利]一种虚拟机内存监管方法与设备有效
申请号: | 201611029385.X | 申请日: | 2016-11-14 |
公开(公告)号: | CN108073441B | 公开(公告)日: | 2022-05-10 |
发明(设计)人: | 李兆伟;孙辉 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F11/30 |
代理公司: | 上海百一领御专利代理事务所(普通合伙) 31243 | 代理人: | 陈贞健 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟机 内存 监管 方法 设备 | ||
本申请的目的是提供一种虚拟机内存监管方法与设备;包括,对占用虚拟机内存的一个或多个对象进行内存数据分析;基于所述内存数据分析的分析结果,在占用所述虚拟机内存的对象中确定预警对象;将所述预警对象移入内存保护区以对所述预警对象进行内存管理,其中,所述内存保护区设置于所述虚拟机内存中。与现有技术相比,本申请可以对现有的虚拟机,如JAVA虚拟机的内存占用情况进行有效监管,从而极大地减少了虚拟机内存溢出发生的概率,降低由于某个或某几个对象的内存泄漏给其他对象造成了运行中断的影响,避免了内存溢出给虚拟机正常运行带来的灾难性影响。
技术领域
本申请涉及计算机领域,尤其涉及一种虚拟机内存监管技术。
背景技术
目前Java平台中,JVM(Java Virtual Machine,Java虚拟机)是其核心和基础,而在JVM运行中,Java虚拟机内存溢出,如Java堆内存溢出是个很普遍的问题,当JVM因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可以回收时,就会抛出内存溢出这个异常。这个异常一旦发生,通常所有的对象生成请求都会被拒绝,服务基本都会停止并且不断抛出异常,造成所有业务中断。因此,对Java虚拟机进行有效的内存管理是维持Java系统稳定性的重要保证,但是在现有技术中,当遇到内存泄漏时,并没有有效的预警或保护机制,通常只能任由JVM消耗的内存不断增长,并最终超出设置的可使用的内存最大值,进而通常各个线程会被迫退出,各个业务都会中断运行,造成了严重后果。此外,上述内存溢出不仅在Java虚拟机运行中、而且在其他类型的虚拟机运行中都是普遍存在的问题,并缺乏有效的解决方案。
发明内容
本申请的目的是提供一种虚拟机内存监管方法与设备,以解决现有技术中对虚拟机内存溢出现象无法有效监管的问题。
根据本申请的一个方面,提供了一种虚拟机内存监管的方法,包括:
对占用虚拟机内存的一个或多个对象进行内存数据分析;
基于所述内存数据分析的分析结果,在占用所述虚拟机内存的对象中确定预警对象;
将所述预警对象移入内存保护区以对所述预警对象进行内存管理,其中,所述内存保护区设置于所述虚拟机内存中。
根据本申请的另一方面,还提供了一种虚拟机内存监管设备,包括:
内存数据分析装置,用于对占用虚拟机内存的一个或多个对象进行内存数据分析;
预警对象确定装置,用于基于所述内存数据分析的分析结果,在占用所述虚拟机内存的对象中确定预警对象;
移入装置,用于将所述预警对象移入内存保护区以对所述预警对象进行内存管理,其中,所述内存保护区设置于所述虚拟机内存中。
根据本申请的另一方面,还提供了一种虚拟机内存监管设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
对占用虚拟机内存的一个或多个对象进行内存数据分析;
基于所述内存数据分析的分析结果,在占用所述虚拟机内存的对象中确定预警对象;
将所述预警对象移入内存保护区以对所述预警对象进行内存管理,其中,所述内存保护区设置于所述虚拟机内存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611029385.X/2.html,转载请声明来源钻瓜专利网。