[发明专利]一种动态内存监测系统及其监测方法在审
申请号: | 201710622071.9 | 申请日: | 2017-07-27 |
公开(公告)号: | CN107436845A | 公开(公告)日: | 2017-12-05 |
发明(设计)人: | 江汀;赵万亮;姜思远;王月铭 | 申请(专利权)人: | 南京华飞数据技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/30 |
代理公司: | 南京品智知识产权代理事务所(普通合伙)32310 | 代理人: | 奚晓宁,陆群 |
地址: | 210019 江苏省南京市建邺*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 内存 监测 系统 及其 方法 | ||
技术领域
本发明一种动态内存监测系统及其监测方法涉及计算机技术领域,特别是一种能够动态监测内存的系统和方法。
背景技术
内存是计算机中一种重要的部件,内存用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据,计算机中所有程序都在内存中运行。由于内存价格昂贵,容量较小,应用程序应尽可能减少内存开销。
在实际情况下,由于应用程序设计不合理或编码质量差,会使应用程序一些模块在初始化或运行过程中内存占用过多;由于设计失误或编码错误,应用程序申请内存使用完毕后,内存未被释放,这些未释放的内存脱离了操作系统的内存管理机制,无法再被分配,导致内存泄漏。如果,应用程序出现所述问题,势必会导致操作系统可分配内存变少,极端情况下,会导致操作系统崩溃。
针对所述内存使用问题,目前有一些系统内存统计方法:基于内存缓冲池,或对系统每块内存预设标识号,这些方法需独立管理待使用内存,且内存统计,无法精确到具体申请内存函数。有一些内存泄漏检测方法:依靠人工分析软件源码,排查内存泄漏,需要花费大量精力,且排查周期较长;内存泄漏检测是一个自动流程,先采集全部内存块使用信息,然后,自动发送给内存泄漏分析模块。根据内存块被占用时间长短,判断内存是否泄漏。需要用户根据经验确定一个内存块生命周期。若内存块被占用时间超过生命周期,即发生内存漏泄。生命周期长短,都是人为预估,生命周期阀值,直接决定内存泄漏检测误报率,并且生命周期确定后,在检测流程中,不可再被修改。有些情况下,在应用程序长时间运行时,内存块被一直占用,超过该内存块生命周期,且不会被释放,此类内存,会被误判为内存泄漏;判断内存块被占用时间,若占用时间高于指定阀值而未被释放,则判定发生内存泄漏,此类方法所用时间阀值只是人工根据经验给定,与内存使用完毕时机无准确联系,应用程序中被用作缓存和没有及时释放的内存都被误报为泄漏内存。
发明内容
本发明的目的是针对上述不足之处提供一种动态内存监测系统及其监测方法,通过独立设置的内存检测模块和分析输出模块准确判定内存块使用状况,判断内存是否释放,能够精确地统计应用程序内存使用、准确地检测造成内存泄漏的信息。
本发明是采取以下技术方案实现的:
一种动态内存监测系统包括信号管理模块、内存检测模块和分析输出模块;信号管理模块分别与内存检测模块以及分析输出模块相联;
所述信号管理模块向内存检测模块发送内存检测信号,所述信号管理模块向分析输出模块发送分析输出信号;
所述内存检测模块,用于监测内存块申请释放信息;
所述分析输出模块,用于接收内存检测模块记录的内存监测信息。
分析输出模块具有结果分析单元和结果输出单元,结果分析单元和结果输出单元相连;结果分析单元用于分析整理内存监测信息;结果输出单元用于将分析结果以日志统计文件方式输出。
动态内存监测系统的监测方法,包括如下步骤:
1)在应用程序初始化阶段,若内存检测初始化开关打开,则直接进入步骤2);若内存检测初始化开关为关闭,则通过信号管理模块向内存检测模块发送开始内存检测信号;
2)内存检测模块进行内存检测;
2-1)创建内存块申请信息记录HASH表MONITOR,存放内存块申请信息;
2-2)内存检测模块接收到开始内存检测信号后,或从内存检测初始化开关获取开始内存检测状态后,开始监测内存使用情况;
2-3)在操作系统向应用程序分配内存前,内存检测模块记录所分配内存块的起始地址、内存块大小和申请内存分配函数栈信息;
2-4)应用程序使用内存块完毕,释放内存块时,以内存块起始地址关键字,在表MONITOR查找内存块记录信息,若找到同一地址所对应内存块信息记录,将MONITOR表中信息记录删除;
2-5)内存检测模块接收到信号管理模块发出的结束内存检测信号后,当内存块申请时停止记录申请信息;当内存块释放时,不再查询、修改MONITOR表;内存检测模块结束内存检测;
3)信号管理模块向分析输出模块发送分析输出信号;
3-1)分析输出模块创建内存块申请信息统计HASH表ANALYZER;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京华飞数据技术有限公司,未经南京华飞数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710622071.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型食品烘烤机
- 下一篇:一种风干效果好的果蔬风干装置