[发明专利]生成堆内存快照文件的方法、装置、介质和电子设备在审
申请号: | 202010010313.0 | 申请日: | 2020-01-06 |
公开(公告)号: | CN111240801A | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 朴英敏 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F16/11 |
代理公司: | 北京睿驰通程知识产权代理事务所(普通合伙) 11604 | 代理人: | 唐华;张文平 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 内存 快照 文件 方法 装置 介质 电子设备 | ||
本公开提供了一种生成堆内存快照文件的方法、装置、介质和电子设备。所述方法包括:获取克隆进程的克隆内存信息;其中,所述克隆内存信息复制于主进程运行到预设待调试位置时的内存信息;从所述克隆内存信息中获取堆内存信息,并生成堆内存快照文件。通过主进程生成克隆进程和克隆内存信息,进而生成堆内存快照文件。既不会影响主进程的运行,也提高了生成堆内存快照文件的效率,保证了用户体验。
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种生成堆内存快照文件的方法、装置、介质和电子设备。
背景技术
在安卓系统中,大部分应用程序(简称APP)都是用Java语言编写的。其中,Java类型程序的内存泄漏问题一直是影响APP运行效率的重要问题之一。分析该类型程序内存泄漏问题的通用方案是:先生成堆内存快照文件(HPROF)文件,然后用分析工具从堆内存快照文件中找出泄漏的对象。例如,在Android系统中,ART虚拟机通过Hprof::DumpHeap()方法就可以生成堆内存快照文件。
但是,一般APP堆的大小有几百兆,导出堆内存快照文件的过程可能耗时几秒甚至十几秒。此时,虚拟机处于被挂起状态,而APP处于卡死状态,从而导致用户体验非常差。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的目的在于提供一种生成堆内存快照文件的方法、装置、介质和电子设备,能够解决上述提到的至少一个技术问题。具体方案如下:
根据本公开的具体实施方式,第一方面,本公开提供一种生成堆内存快照文件的方法,应用于主进程的克隆进程,包括:
获取克隆进程的克隆内存信息;其中,所述克隆内存信息复制于主进程运行到预设待调试位置时的内存信息;
从所述克隆内存信息中获取堆内存信息,并生成堆内存快照文件。
根据本公开的具体实施方式,第二方面,本公开提供一种生成堆内存快照文件的装置,包括:
获取单元,用于获取克隆进程的克隆内存信息;其中,所述克隆内存信息复制于主进程运行到预设待调试位置时的内存信息;
生成单元,用于从所述克隆内存信息中获取堆内存信息,并生成堆内存快照文件。
根据本公开的具体实施方式,第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面任一项所述生成堆内存快照文件的方法。
根据本公开的具体实施方式,第四方面,本公开提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如第一方面任一项所述生成堆内存快照文件的方法。
本公开实施例的上述方案与现有技术相比,至少具有以下有益效果:
本公开提供了一种生成堆内存快照文件的方法、装置、介质和电子设备。本公开通过主进程生成克隆进程和克隆内存信息,进而生成堆内存快照文件。既不会影响主进程的运行,也提高了生成堆内存快照文件的效率,保证了用户体验。
如果通过主进程生成堆内存快照文件,需要约5秒的时间。而通过克隆进程获取,加上主进程创建克隆进程的耗时的14毫秒,则总耗时约4.7秒。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010010313.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:CNI硬件接口集成管理系统
- 下一篇:工程进度监测方法及系统