[发明专利]内存分析方法、装置及系统在审
申请号: | 202010222504.3 | 申请日: | 2020-03-26 |
公开(公告)号: | CN113297057A | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 王烨;周祥 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/22;G06F16/242;G06F16/11 |
代理公司: | 北京成创同维知识产权代理有限公司 11449 | 代理人: | 刘静 |
地址: | 英属开曼群岛大*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 分析 方法 装置 系统 | ||
1.一种内存分析方法,包括:
获取系统运行时的内存快照文件,所述内存快照文件包括至少一种类型的内存对象,每种类型的内存对象包括按照预定的数据规格组织的属性信息;
创建至少一个表结构,每个表结构和一种类型的内存对象对应;
解析所述内存快照文件,并按照对应的数据规格将每个内存对象的属性信息解析到对应的表结构中;
对所述至少一个表结构进行检索,以便于根据检索结果进行内存分析。
2.根据权利要求1所述的内存分析方法,其中,所述至少一种类型包括类对象和实例对象,所述将每个内存对象的属性信息解析到对应的表结构中包括:
将所述内存快照文件中的类对象的属性信息解析到类表内;
将所述内存快照文件中的实例对象的属性信息解析到实例表内。
3.根据权利要求2所述的内存分析方法,其中,所述对所述至少一个表结构进行检索包括:从所述类表、所述实例表和其他数据结构中选出至少两项进行关联检索。
4.根据权利要求3所述的内存分析方法,其中,根据所述类表和所述实例表的关联检索得到以下用于内存分析的检索结果:
实例对象最多的若干个类对象的名称;
内存占用最多的若干个实例对象对应的类对象的名称;
实例对象的统计数据。
5.根据权利要求1所述的内存分析方法,所述对所述至少一个表结构进行检索包括:
接收SQL语句,所述SQL语句用于从所述至少一个表结构检索数据;
根据所述SQL语句的语义构建n级任务,每级任务包含一个及以上的任务,同一级任务并行执行,不同级任务串行执行,第一级任务从所述至少一个表结构获取数据,第二级至第n-1级任务接收上一级任务的输出数据,并输出给下一级任务,第n级任务将数据汇总作为所述SQL语句的应答,其中n大于1。
6.根据权利要求1所述的内存分析方法,其中,通过配置信息建立所述至少一个表结构和所述至少一个类型的内存对象之间的对应关系。
7.根据权利要求1所述的内存分析方法,其中,获取所述系统在运行时的多个不同时刻的内存快照文件,对于每个不同时刻的内存快照文件,将其包含的每个内存对象的属性信息解析到对应的表结构中,检索所述至少一个表结构,获得每个内存对象在多个不同时刻的状态信息,以便于分析每个内存对象在多个不同时刻的变化情况。
8.根据权利要求1所述的方法,其中,所述系统在虚拟机上执行,所述内存快照文件为所述虚拟机在某一个时刻的内存状态文件。
9.根据权利要求8所述的方法,其中,所述虚拟机为JAVA虚拟机,通过JAVA虚拟机的DUMP命令获取所述虚拟机的内存快照文件,或者通过JAVA虚拟机的DUMP命令获得所述JAVA虚拟机的堆的内存快照文件。
10.根据权利要求1所述的方法,其中,所述内存分析方法利用数据湖系统实现。
11.根据权利要求1所述的方法,其中,所述至少一种类型包括以下类型中的一种或多种:类、实例、数据结构、数组、指针。
12.一种内存分析装置,包括:
数据准备模块,获取系统运行时的内存快照文件,所述内存快照文件包括至少一种类型的内存对象,每种类型的内存对象包括按照预定的数据规格组织的属性信息;
表创建模块,用于创建至少一个表结构,每个表结构和一种类型的内存对象对应;
数据解析模块,用于解析所述内存快照文件,并按照对应的数据规格将每个内存对象的属性信息解析到对应的表结构中;
检索分析模块,用于对所述至少一个表结构进行检索,以便于根据检索结果进行内存分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010222504.3/1.html,转载请声明来源钻瓜专利网。