[发明专利]内存检测方法、装置、计算机可读存储介质及计算机在审
申请号: | 201711436089.6 | 申请日: | 2017-12-26 |
公开(公告)号: | CN108132863A | 公开(公告)日: | 2018-06-08 |
发明(设计)人: | 孙木鑫;石子凡;许力 | 申请(专利权)人: | 东软集团股份有限公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 北京英创嘉友知识产权代理事务所(普通合伙) 11447 | 代理人: | 魏嘉熹;南毅宁 |
地址: | 110179 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实例对象 引用关系 计算机可读存储介质 内存检测 有向图 内存分析 唯一路径 根节点 树遍历 树算法 子节点 计算机 内存 | ||
1.一种内存检测方法,其特征在于,包括:
建立实例对象的引用关系有向图;
根据所述引用关系有向图利用支配树算法计算得到支配树,其中,在所述支配树中,根节点到每一子节点之间有唯一路径;
根据所述支配树遍历每一所述实例对象的内存大小。
2.根据权利要求1所述的方法,其特征在于,所述方法包括:
在发生预设触发事件时,在线检测每一实例对象的内存大小,所述预设触发事件包括实例对象之间的引用关系发生变化,和/或,预设定时器超时。
3.根据权利要求1所述的方法,其特征在于,所述方法应用于计算机运行的JAVA虚拟机,所述实例对象为JAVA实例,所述建立实例对象的引用关系有向图,包括:
根据JAVA反射机制建立所述JAVA虚拟机上每一JAVA实例之间的引用关系有向图。
4.根据权利要求3所述的方法,其特征在于,所述根据所述支配树遍历每一所述实例对象的内存大小,包括:
从对象头、实例数据和对齐填充区域统计每一所述实例对象的内存大小。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
确定每一所述实例对象的内存大小为在所述支配树上该实例对象所支配的所有实例对象的内存大小之和。
6.一种内存检测装置,其特征在于,包括:
有向图建立模块,用于建立实例对象的引用关系有向图;
支配树计算模块,用于根据所述引用关系有向图利用支配树算法计算得到支配树,其中,在所述支配树中,根节点到每一子节点之间有唯一路径;
遍历模块,用于根据所述支配树遍历每一所述实例对象的内存大小。
7.根据权利要求6所述的装置,其特征在于,所述装置包括:
检测模块,用于在发生预设触发事件时,在线检测每一实例对象的内存大小,所述预设触发事件包括实例对象之间的引用关系发生变化,和/或,预设定时器超时。
8.根据权利要求6所述的装置,其特征在于,所述装置应用于计算机运行的JAVA虚拟机,所述实例对象为JAVA实例,所述有向图建立模块用于:
根据JAVA反射机制建立所述JAVA虚拟机上每一JAVA实例之间的引用关系有向图。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机,其特征在于,包括:
权利要求9中所述的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东软集团股份有限公司,未经东软集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711436089.6/1.html,转载请声明来源钻瓜专利网。