[发明专利]内存泄漏查证方法、装置、电子设备和存储介质有效
申请号: | 202110813978.X | 申请日: | 2021-07-19 |
公开(公告)号: | CN113419893B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 王太阳 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 吴文心 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 泄漏 查证 方法 装置 电子设备 存储 介质 | ||
本发明实施例提供了一种内存泄漏查证方法、装置、电子设备和存储介质,所述方法包括:当存在一类的内存对象数量异常的情况下,获取类的内存对象;获取内存对象与其他内存对象之间的引用关系,然后计算内存对象之间的引用关系的相似度,将相似度大于第一阈值的内存对象,确定为同一类型的内存对象,当存在一类型内存对象数量异常时,将类型的内存对象确定为导致内存泄漏的内存对象。应用本发明实施例不用程序开发人员手动对内存对象进行遍历和进行问题分析过程,简化操作过程,提高查证效率,降低了定位内存泄漏问题的技术门槛和熟悉成本。
技术领域
本发明涉及计算机技术领域,特别是涉及一种内存泄漏查证方法、一种内存泄漏查证装置、电子设备和存储介质。
背景技术
内存泄漏是指程序中已分配的内存由于某种原因程序未释放或无法释放,继续占用内存,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果,因此,为了保证程序长期稳定的运行,程序开发者需要找出程序中的内存泄漏问题并修复该问题。
目前,查询内存泄漏问题需要程序开发者手动查看分析代码,以找出内存泄漏的内存对象。然而,由于服务器内存中占用内存的内存数量庞大,在每一个可疑的内存对象都需要程序开发者进行人工判断的情况下,导致查证操作繁琐,查证效率低下等问题。
发明内容
本发明实施例提供一种克服查询内存泄漏操作繁琐,查证效率低下等问题的一种内存泄漏查证方法和相应的一种内存泄漏查证装置、电子设备、存储介质。
为了解决上述问题,本发明实施例公开了一种内存泄漏查证方法,所述方法包括:
当存在一类的内存对象数量异常的情况下,获取所述类的所述内存对象;
获取所述内存对象与其他内存对象之间的引用关系;
计算所述内存对象之间的所述引用关系的相似度;
将相似度大于第一阈值的所述内存对象,确定为同一类型的所述内存对象;
当存在一类型所述内存对象数量异常时,将所述类型的所述内存对象确定为导致内存泄漏的内存对象。
可选地,在所述当存在一类的内存对象数量异常的情况下,获取所述类的所述内存对象之前,还包括:
在一定时间内,检测各类的内存对象数量的变化情况;
若所述变化情况为存在一类的所述内存对象数量大于第二阈值,和或所述内存对象数量持续增加,则确定所述类的所述内存对象数量异常。
可选地,所述在一定时间内,检测各类的内存对象数量的变化情况,包括:
在一定时间内的初始时刻、以及结束时刻检测各类的所述内存对象数量;
若所述结束时刻检测的所述内存对象数量大于所述初始时刻检测的所述内存对象数量,则确定所述内存对象持续增加。
可选地,所述计算所述内存对象之间的引用关系的相似度,包括:
根据所述内存对象的所述引用关系,确定所述内存对象的有向图;其中,所述有向图由一组顶点和一组有方向的边组成的,每条有方向的边都连接着有序的一对顶点,每一个顶点表示一个内存对象,每一条边表示一个内存对象对另外一个内存对象的引用;
计算所述内存对象之间的所述有向图的相似度。
可选地,在所述当存在一类型所述内存对象数量异常时,将所述类型的所述内存对象确定为导致内存泄漏的内存对象之前,还包括:
计算各类型所述内存对象的数量与其他类型所述内存对象的数量的比值;
当所述比值大于第三阈值时,确定所述类型的所述内存对象数量异常。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110813978.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电梯外撑门锁结构及其控制方法
- 下一篇:一种工业用自动化上料机械臂