【技术实现步骤摘要】
一种虚拟机内存监管方法与设备
本申请涉及计算机领域,尤其涉及一种虚拟机内存监管技术。
技术介绍
目前Java平台中,JVM(JavaVirtualMachine,Java虚拟机)是其核心和基础,而在JVM运行中,Java虚拟机内存溢出,如Java堆内存溢出是个很普遍的问题,当JVM因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可以回收时,就会抛出内存溢出这个异常。这个异常一旦发生,通常所有的对象生成请求都会被拒绝,服务基本都会停止并且不断抛出异常,造成所有业务中断。因此,对Java虚拟机进行有效的内存管理是维持Java系统稳定性的重要保证,但是在现有技术中,当遇到内存泄漏时,并没有有效的预警或保护机制,通常只能任由JVM消耗的内存不断增长,并最终超出设置的可使用的内存最大值,进而通常各个线程会被迫退出,各个业务都会中断运行,造成了严重后果。此外,上述内存溢出不仅在Java虚拟机运行中、而且在其他类型的虚拟机运行中都是普遍存在的问题,并缺乏有效的解决方案。
技术实现思路
本申请的目的是提供一种虚拟机内存监管方法与设备,以解决现有技术中对虚拟机内存溢出现象无法有效监管的问题。根据本申请的一个方面,提供了一种虚拟机内存监管的方法,包括:对占用虚拟机内存的一个或多个对象进行内存数据分析;基于所述内存数据分析的分析结果,在占用所述虚拟机内存的对象中确定预警对象;将所述预警对象移入内存保护区以对所述预警对象进行内存管理,其中,所述内存保护区设置于所述虚拟机内存中。根据本申请的另一方面,还提供了一种虚拟机内存监管设备,包括:内存数据分析装置,用于对占用虚拟机 ...
【技术保护点】
一种虚拟机内存监管方法,其中,所述方法包括:对占用虚拟机内存的一个或多个对象进行内存数据分析;基于所述内存数据分析的分析结果,在占用所述虚拟机内存的对象中确定预警对象;将所述预警对象移入内存保护区以对所述预警对象进行内存管理,其中,所述内存保护区设置于所述虚拟机内存中。
【技术特征摘要】
1.一种虚拟机内存监管方法,其中,所述方法包括:对占用虚拟机内存的一个或多个对象进行内存数据分析;基于所述内存数据分析的分析结果,在占用所述虚拟机内存的对象中确定预警对象;将所述预警对象移入内存保护区以对所述预警对象进行内存管理,其中,所述内存保护区设置于所述虚拟机内存中。2.根据权利要求1所述的方法,其中,所述方法还包括:获取虚拟机内存的占用空间总量;其中,所述对占用虚拟机内存的一个或多个对象进行内存数据分析包括:若所述占用空间总量大于或等于第一占用空间预警阈值,对占用虚拟机内存的一个或多个对象进行内存数据分析。3.根据权利要求1或2所述的方法,其中,所述内存管理包括:获取所述预警对象对应的第一预警信息;将所述第一预警信息提供至用户。4.根据权利要求1或2所述的方法,其中,所述内存管理包括:若所述占用空间总量大于或等于第二占用空间预警阈值,拒绝所述内存保护区内一个或多个预警对象的内存分配请求。5.根据权利要求4所述的方法,其中,所述内存管理还包括:获取所述预警对象对应的第二预警信息;将所述第二预警信息提供至用户。6.根据权利要求1所述的方法,其中,所述方法还包括:获取占用所述虚拟机内存的对象的使用快照信息;其中,对占用虚拟机内存的对象进行内存数据分析包括:对占用虚拟机内存的对象的使用快照信息进行内存数据分析。7.根据权利要求1至6中任一项所述的方法,其中,所述内存数据分析包括以下至少任一项:内存占用空间的数值分析;内存占用空间的增长趋势分析。8.根据权利要求7所述的方法,其中,所述内存占用空间的增长趋势分析包括:基于对象的内存占用空间增长率确定对应的增长趋势信息;其中,所述基于所述内存数据分析的分析结果,在占用所述虚拟机内存的对象中确定预警对象包括:基于对象的内存占用空间的增长趋势信息,确定预警对象。9.根据权利要求8所述的方法,其中,所述基于对象的内存占用空间的增长趋势信息,确定预警对象包括:若对象的内存占用空间的增长趋势信息中对象的内存占用空间增长率持续大于预设的第一增长率阈值,则确定所述对象为预警对象。10.根据权利要求8所述的方法,其中,所述方法还包括:基于所述内存保护区内预警对象的内存占用空间的增长趋势信息,确定内存占用空间增长率持续降低或内存占用空间增长率低于预设的第二增长率阈值的预警对象为移出对象;将所述移出对象移出所述内存保护区。11.根据权利要求7所述的方法,其中,所述内存占用空间的数值分析包括:计算对象对应的内存占用空间。其中,所述基于所述内存数据分析的分析结果,在占用所述虚拟机内存的对象中确定预警对象包括:基于对象的内存占用空间,确定预警对象。12.根据权利要11所述的方法,其中,所述基于对象的内存占用空间,确定预警对象包括:基于对象的内存占用空间,对占用所述虚拟机内存的多个对象进行内存占用排序;基于所述内存占用排序和预设的排序筛选条件,确定预警对象。13.根据权利要求7所述的方法,其中,所述内存占用空间的数值分析包括:计算对象对应的内存占用空间,所述内存占用空间的增长趋势分析包括:基于对象的内存占用空间增长率确定对应的增长趋势信息;其中,所述基于所述内存数据分析的分析结果,在占用所述虚拟机内存的对象中确定预警对象包括:基于对象的内存占用空间及内存占用空间的增长趋势信息确定预警对象。14.一种虚拟机内存监管设备,其中,所述设备包括:内存数据分析装置,用于对占用虚拟机内存的一个或多个对象进行内存数据分析;预警对象确定装置,用于基于所述内...
【专利技术属性】
技术研发人员:李兆伟,孙辉,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。