[发明专利]一种内存分析方法、装置、系统以及计算设备有效
申请号: | 201610906023.8 | 申请日: | 2016-10-18 |
公开(公告)号: | CN107967205B | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 韩进巍 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/50 |
代理公司: | 北京展翼知识产权代理事务所(特殊普通合伙) 11452 | 代理人: | 屠长存 |
地址: | 310052 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 分析 方法 装置 系统 以及 计算 设备 | ||
1.一种计算设备,适于执行一种或多种进程,该计算设备包括:
内存,用于存储所述一种或多种进程所对应的堆数据;以及
处理器,用于获取待监控进程的堆数据的内存镜像文件,解析所述内存镜像文件,以获取其中预定类型对象的对象信息和对象引用关系,其中,只获取尺寸大于第二预定阈值的预定类型对象的对象信息和对象引用关系,将尺寸最大的一个或多个对象或者尺寸大于第一预定阈值的对象确定为可能导致OOM错误的可疑对象,并基于所述对象引用关系生成所述可疑对象的对象引用链,其中,所述第二预定阈值小于或等于第一预定阈值。
2.根据权利要求1所述的计算设备,还包括:
通信装置,用于将所述可疑对象的对象引用链上传到服务器。
3.一种内存分析系统,包括:
根据权利要求1或2所述的计算设备;以及
服务器,用于对所述可疑对象的对象引用链进行反混淆处理。
4.一种内存分析装置,包括内存镜像解析处理模块,所述内存镜像解析处理模块包括:
获取单元,用于获取待监控进程的堆数据的内存镜像文件;
解析单元,用于解析所述内存镜像文件,以获取其中预定类型对象的对象信息和对象引用关系,其中,只获取尺寸大于第二预定阈值的预定类型对象的对象信息和对象引用关系;
可疑对象确定单元,用于将尺寸最大的一个或多个对象或者尺寸大于第一预定阈值的对象确定为可能导致OOM错误的可疑对象,其中,所述第二预定阈值小于或等于第一预定阈值;
对象引用链生成单元,基于所述对象引用关系生成所述可疑对象的对象引用链。
5.根据权利要求4所述的内存分析装置,其中,所述解析单元通过拓扑排序算法计算对象支配树,以得到所述对象引用关系。
6.根据权利要求4所述的内存分析装置,还包括:
上传单元,用于将所述可疑对象的对象引用链上传到服务器。
7.根据权利要求4所述的内存分析装置,其中,
在用于执行所述待监控进程的设备当前处于锁屏状态的情况下,所述内存镜像解析处理模块执行所述内存镜像解析处理;并且/或者
在所述待监控进程处于后台运行状态的情况下,所述内存镜像解析处理模块执行所述内存镜像解析处理;并且/或者
在所述待监控进程为灰度版本的情况下,所述内存镜像解析处理模块执行所述内存镜像解析处理;并且/或者
在用于执行所述待监控进程的设备属于目标机型的情况下,所述内存镜像解析处理模块执行所述内存镜像解析处理;并且/或者
在所述待监控进程的堆数据的尺寸超过第三预定阈值的情况下,所述内存镜像解析处理模块执行所述内存镜像解析处理;并且/或者
在距上次执行所述内存镜像解析处理超过预定时间阈值的情况下,所述内存镜像解析处理模块执行所述内存镜像解析处理。
8.一种内存分析方法,包括内存镜像解析处理,所述内存镜像解析处理包括:
获取待监控进程的堆数据的内存镜像文件;
解析所述内存镜像文件,以获取其中预定类型对象的对象信息和对象引用关系,其中,只获取尺寸大于第二预定阈值的预定类型对象的对象信息和对象引用关系;
将尺寸最大的一个或多个对象或者尺寸大于第一预定阈值的对象确定为可能导致OOM错误的可疑对象,其中,所述第二预定阈值小于或等于第一预定阈值;以及
基于所述对象引用关系生成所述可疑对象的对象引用链。
9.根据权利要求8所述的内存分析方法,其中,解析所述内存镜像文件的步骤包括:
通过拓扑排序算法计算对象支配树,以得到所述对象引用关系。
10.根据权利要求8所述的内存分析方法,还包括:
将所述可疑对象的对象引用链上传到服务器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610906023.8/1.html,转载请声明来源钻瓜专利网。