CN107436845A - 一种动态内存监测系统及其监测方法 - Google Patents
一种动态内存监测系统及其监测方法 Download PDFInfo
- Publication number
- CN107436845A CN107436845A CN201710622071.9A CN201710622071A CN107436845A CN 107436845 A CN107436845 A CN 107436845A CN 201710622071 A CN201710622071 A CN 201710622071A CN 107436845 A CN107436845 A CN 107436845A
- Authority
- CN
- China
- Prior art keywords
- internal memory
- memory
- module
- signal
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3031—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a motherboard or an expansion card
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明一种动态内存监测系统及其监测方法涉及计算机技术领域,特别是一种能够动态监测内存的系统和方法。动态内存监测系统包括信号管理模块、内存检测模块和分析输出模块;信号管理模块分别与内存检测模块以及分析输出模块相联;所述信号管理模块向内存检测模块发送内存检测信号,所述信号管理模块向分析输出模块发送分析输出信号;所述内存检测模块,用于监测内存块申请释放信息;所述分析输出模块,用于接收内存检测模块记录的内存监测信息。信号管理模块能够向应用程序发送开始内存检测信号、结束内存检测信号、分析输出信号,发送信号的时机由用户根据应用程序运行日志决定。根据信号确认是否对内存进行监测。
Description
技术领域
本发明一种动态内存监测系统及其监测方法涉及计算机技术领域,特别是一种能够动态监测内存的系统和方法。
背景技术
内存是计算机中一种重要的部件,内存用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据,计算机中所有程序都在内存中运行。由于内存价格昂贵,容量较小,应用程序应尽可能减少内存开销。
在实际情况下,由于应用程序设计不合理或编码质量差,会使应用程序一些模块在初始化或运行过程中内存占用过多;由于设计失误或编码错误,应用程序申请内存使用完毕后,内存未被释放,这些未释放的内存脱离了操作系统的内存管理机制,无法再被分配,导致内存泄漏。如果,应用程序出现所述问题,势必会导致操作系统可分配内存变少,极端情况下,会导致操作系统崩溃。
针对所述内存使用问题,目前有一些系统内存统计方法:基于内存缓冲池,或对系统每块内存预设标识号,这些方法需独立管理待使用内存,且内存统计,无法精确到具体申请内存函数。有一些内存泄漏检测方法:依靠人工分析软件源码,排查内存泄漏,需要花费大量精力,且排查周期较长;内存泄漏检测是一个自动流程,先采集全部内存块使用信息,然后,自动发送给内存泄漏分析模块。根据内存块被占用时间长短,判断内存是否泄漏。需要用户根据经验确定一个内存块生命周期。若内存块被占用时间超过生命周期,即发生内存漏泄。生命周期长短,都是人为预估,生命周期阀值,直接决定内存泄漏检测误报率,并且生命周期确定后,在检测流程中,不可再被修改。有些情况下,在应用程序长时间运行时,内存块被一直占用,超过该内存块生命周期,且不会被释放,此类内存,会被误判为内存泄漏;判断内存块被占用时间,若占用时间高于指定阀值而未被释放,则判定发生内存泄漏,此类方法所用时间阀值只是人工根据经验给定,与内存使用完毕时机无准确联系,应用程序中被用作缓存和没有及时释放的内存都被误报为泄漏内存。
发明内容
本发明的目的是针对上述不足之处提供一种动态内存监测系统及其监测方法,通过独立设置的内存检测模块和分析输出模块准确判定内存块使用状况,判断内存是否释放,能够精确地统计应用程序内存使用、准确地检测造成内存泄漏的信息。
本发明是采取以下技术方案实现的:
一种动态内存监测系统包括信号管理模块、内存检测模块和分析输出模块;信号管理模块分别与内存检测模块以及分析输出模块相联;
所述信号管理模块向内存检测模块发送内存检测信号,所述信号管理模块向分析输出模块发送分析输出信号;
所述内存检测模块,用于监测内存块申请释放信息;
所述分析输出模块,用于接收内存检测模块记录的内存监测信息。
分析输出模块具有结果分析单元和结果输出单元,结果分析单元和结果输出单元相连;结果分析单元用于分析整理内存监测信息;结果输出单元用于将分析结果以日志统计文件方式输出。
动态内存监测系统的监测方法,包括如下步骤:
1)在应用程序初始化阶段,若内存检测初始化开关打开,则直接进入步骤2);若内存检测初始化开关为关闭,则通过信号管理模块向内存检测模块发送开始内存检测信号;
2)内存检测模块进行内存检测;
2-1)创建内存块申请信息记录HASH表MONITOR,存放内存块申请信息;
2-2)内存检测模块接收到开始内存检测信号后,或从内存检测初始化开关获取开始内存检测状态后,开始监测内存使用情况;
2-3)在操作系统向应用程序分配内存前,内存检测模块记录所分配内存块的起始地址、内存块大小和申请内存分配函数栈信息;
2-4)应用程序使用内存块完毕,释放内存块时,以内存块起始地址关键字,在表MONITOR查找内存块记录信息,若找到同一地址所对应内存块信息记录,将MONITOR表中信息记录删除;
2-5)内存检测模块接收到信号管理模块发出的结束内存检测信号后,当内存块申请时停止记录申请信息;当内存块释放时,不再查询、修改MONITOR表;内存检测模块结束内存检测;
3)信号管理模块向分析输出模块发送分析输出信号;
3-1)分析输出模块创建内存块申请信息统计HASH表ANALYZER;
3-2)分析输出模块接收到分析输出信号后,逐个遍历MONITOR表内存块申请信息记录,从MONITOR表删除一个信息记录节点,以信息记录节点中申请内存分配函数栈信息为关键字,将信息记录保存至ANALYZER表;MONITOR表信息记录迁移至ANALYZER表过程中,将关键字相同的信息记录进行合并,将内存块大小进行累计;
3-3)当MONITOR表信息全部倒换到ANALYZER表后,将ANALYZER表中全部信息记录保存到输出文件中,最后,清空ANALYZER表;分析输出模块的分析输出过程结束。
在步骤2-3)内,以内存块起始地址为关键字,将内存块申请信息保存至MONITOR表。
步骤3-3)所述输出文件中,保存的信息即为最近一组信号,开始内存检测信号与结束内存检测信号之间,应用程序内存占用统计,用户根据实际业务对统计日志进行分析,是内存泄漏还是内存长期合理占用;在实际场景中,若应用程序内存泄漏已经全部排查完成,应用程序在运行过程中,无任何内存泄漏,则内存统计日志中,为应用程序各模块内存占用情况。
所述内存检测模块和分析输出模块为两个独立模块,步骤2)和步骤3)无严格时序关系;内存检测模块的开启与关闭由信号管理模块发送的信号决定;用户可以根据程序运行日志,准确判定内存块应该使用完毕,然后,发送检测信号;检测模块自动获取内存块使用信息,分析输出模块判断内存是否未释放,若未释放即为疑似内存越界。
所述应用程序所有的内存块申请和释放不使用标准的malloc 和free 函数,而是调用经过重载的malloc 和free 函数。应用程序调用malloc申请内存时,会记录所申请内存块的起始地址、内存块的大小、内存块申请函数栈信息;应用程序调用free释放内存时,删除同一内存块起始地址所对应内存块信息记录。
应用程序使用分为启动初始化阶段、稳定运行阶段。启动初始化阶段,应用程序会预先申请部分动态内存,此类内存常常会被应用程序一直占用,直至应用程序停止运行;稳定运行阶段,应用程序也会申请动态内存,此类内存块被应用程序占用时间较短,应用程序运行过程中就会被释放。应用程序开发完成后,一般需要分析应用程序性能,应用程序占用内存块总大小是一个重要性能指标。降低应用程序占用内存大小,优化程序性能,需统计应用程序各个模块内存占用量,对占用大小不合理的模块,进行重点优化。本发明分别统计应用程序初始化时预分配内存大小,程序运行过程中动态申请内存大小,确认程序运行不同过程中,哪个模块占用内存较大,将该模块作为重点检查和优化点。
动态内存监测系统工作时,在应用程序初始化阶段,无法通过信号管理模块发送的信号,控制各个模块工作情况。内存检测模块只能通过内存检测初始化开关,决定应用程序初始化时是否开始内存检测。用户需根据工具使用场景,决定内存检测初始化开关具体状态。若内存检测初始化开关打开,只需发送结束内存检测信号、分析输出信号,即可完成一次内存检测流程;若内存检测初始化开关为关闭,需发送开始内存检测信号、结束内存检测信号、分析输出信号,才可完成一次内存检测流程。
应用程序开发过程中,为便于了解应用程序运行状态,会添加大量日志信息,实时记录反馈应用程序运行状态。根据应用程序日志,可以实时知晓应用程序运行到具体哪个环节,不同环节对内存操作不同。根据日志信息,可以大体获知内存申请、内存释放时机。需检测内存使用情况时,信号管理模块向内存检测模块发送开始检测信号,根据日志,判定应用程序所申请内存已经被释放后,控制信号管理模块,向分析输出模块发送分析输出信号,分析输出模块对内存申请信息记录进行分析输出,至此,可以大量降低内存泄漏误判的可能性。
根据运行日志可以得知应用程序运行阶段,不同运行阶段,会调用应用程序不同模块,不同模块对内存需求量不同,对内存访问频繁度也不同。在程序未启动时,打开内存检测开关,程序初始化完成后,发送结束内存检测信号、分析输出信号,获取应用程序初始化阶段,内存占用统计信息;发送开始内存检测信号,使应用程序一个模块,稳定运行一段时间,发送结束内存检测信号、分析输出信号,获取所述应用程序模块,内存占用统计信息;重复上述操作,即可获取应用程序全部模块,在应用程序初始化阶段、稳定运行阶段,内存占用情况统计信息。内存占用相对偏大的模块,可以作为后续优化工作的关注点,重点关注内存占用偏大模块,以提升程序性能。
本发明的优点:一种软件动态内存监测系统及其方法,信号管理模块能够向应用程序发送开始内存检测信号、结束内存检测信号、分析输出信号,发送信号的时机由用户根据应用程序运行日志决定。根据信号确认是否对内存进行监测,灵活调整所监测内存时机,根据信号实时分析输出内存监测结果,能够精确地统计应用程序内存使用、准确地检测造成内存泄漏的信息,监测方法灵活、实时、高效。
附图说明
以下将结合附图对本发明作进一步说明:
图1是本发明系统的结构原理框图;
图2是本发明的内存检测模块的检测流程图;
图3是本发明的分析输出模块的分析输出流程图。
图4是本发明MONITOR表数据转存至ANALYZER表的抽象流程图。
具体实施方式
参照附图1~3,本发明动态内存监测系统包括信号管理模块、内存检测模块和分析输出模块;信号管理模块分别与存检测模块以及分析输出模块相联;
所述信号管理模块向内存检测模块发送内存检测信号,所述信号管理模块向分析输出模块发送分析输出信号;
所述内存检测模块,用于监测内存块申请释放信息;
所述分析输出模块,用于接收内存检测模块记录的内存监测信息。
分析输出模块具有结果分析单元和结果输出单元,结果分析单元和结果输出单元相连;结果分析单元用于分析整理内存监测信息;结果输出单元用于将分析结果以日志统计文件方式输出。
应用程序稳定运行过程中,处理数据时,会频繁申请、释放内存,由于程序的设计错误或者编码失误,可能会有内存泄漏。由于应用程序一些模块在初始化或运行过程中,占用内存块较多,会影响应用程序整体性能。
应用程序编码完成后,进行测试优化过程中,应首先排查解决内存泄漏错误,确保应用程序功能正常,再考虑优化提升应用程序性能。
参照本实例,对应用程序进行内存监测过程中,先定位修复内存泄漏,再统计优化应用程序各个模块内存占用情况。在检测内存泄漏的场景下,获取内存监测统计日志后,结合具体业务模块,分析日志中疑似内存泄漏记录,筛选真正内存泄漏错误,然后,进行错误修复。
内存泄漏全部修复后,在优化应用程序性能的场景下,获取内存监测日志,日志中全部为内存占用统计信息,结合具体业务,将内存占用较大的模块,作为重点优化模块。
应用程序运行时,会写出运行日志,实时反馈应用程序运行状态,根据日志记录信息,结合需要监测的应用模块,控制信号管理模块在不同的运行时刻,发出不同的信号:开始内存检测信号、结束内存检测信号、分析输出信号。
在统计内存泄漏的场景下,内存检测模块从信号管理模块接收开始内存检测信号,在优化应用程序性能的场景下,内存检测模块从内存检测初始化开关获取开始内存检测状态。
开始内存检测后,应用程序申请内存块时,以内存块起始地址为关键字,记录内存块起始地址、内存块大小、调用内存分配函数的栈信息;应用程序释放内存块时,删除同一起始地址所对应内存信息记录。分析输出模块接收到分析输出信号后,以调用内存分配函数栈信息为关键字,重新组织整理内存信息记录,最后,将内存信息记录写出文件。
图2所示,本发明所述内存监测方法,内存检测模块的检测流程包括如下步骤:
创建HASH表MONITOR,存储内存申请信息记录。MONITOR表每个存储节点均由三部分信息组成:内存块起始地址、内存块大小及调用内存分配函数栈信息。
模块接收到开始内存检测信号后,或从内存检测初始化开关获取开始内存检测状态后,开始监测内存使用情况。
应用程序申请内存块时,调用重载MALLOC函数,新建信息存储节点NODE,保存所申请内存块起始地址ADDRESS、内存块大小SIZE及应用程序调用MALLOC函数栈信息INFO,根据内存块起始地址ADDRESS计算HASH值VALUE1,将节点NODE挂入MONITOR表VALUE1值所对应HASH槽。由于HASH函数本身的特性,不同ADDRESS计算出的VALUE1可以相同,因此,一个HASH槽下面,可能会挂多个信息记录节点。
应用程序释放内存块时,调用重载FREE函数,根据内存块起始地址ADDRESS计算HASH值VALUE1,在MONITOR表VALUE1相应槽下面,根据查找ADDRESS信息记录节点NODE。若找到,在MONITOR表将NODE删除,若未找到,FREE函数运行结束,等待检测下一次内存释放调用。
内存检测模块收到结束内存检测信号后,停止监测内存使用情况,申请内存块时,不再用MONITOR保存内存申请信息,释放内存块时,不再查找MONITOR表,删除信息记录节点,应用程序调用标准MALLOC函数、FREE函数,正常申请、释放内存。
图3所示,本发明所述内存监测方法,分析输出模块包括如下步骤:
创建HASH表ANALYZER,保存内存申请信息记录,存储节点物理结构与MONITOR表节点相同。
分析输出模块接收到分析输出信号后,遍历MONITOR表,逐个取MONITOR表中信息记录节点NODE,根据栈信息INFO计算ANALYZER表HASH值VALUE2,将NODE节点从MONITOR表转存至ANALYZER表VALUE2所对应HASH槽下面。
图4所示为本发明步骤2-4)所述MONITOR表数据转存至ANALYZER表的抽象流程。
若ANALYZER表VALUE2所对应HASH槽已经挂载信息记录节点,将待挂载新节点NODE与节点进行合并,把节点NODE中内存块大小信息累加到节点中,并在节点累加并入的信息节点数目。
将MONITOR表全部信息记录节点,以栈信息为关键字,组织整理转存至ANALYZER表后,遍历ANALYZER表,将全部信息记录节点,以便于阅读的方式,输出到统计日志文件中。最后,清空ANALYZER表,分析输出模块,等待接收分析输出信号。
在应用程序中,申请、释放内存块接口,示意伪代码如下:
void *malloc(size_t size)
{
void *buf = NULL;
给buf指针申请大小为size的内存块
if(开始内存检测)
{
将内存块申请信息,保存到MONITOR表
}
return buf;
}
void free(void *buf)
{
delete[ ] (char *)buf;
if(开始内存检测)
{
从MONITOR表删除同一起始地址内存块信息节点
}
}
统计日志文件中的内存泄漏记录,具体示例如下:
泄漏地址:发生内存泄漏地址address;
泄漏大小:address位置,内存泄漏准确大小;
栈信息:address位置,应用程序函数栈信息;
泄漏总大小:address位置,内存泄漏总大小;
泄漏次数:address位置,发生内存泄漏次数;
内存泄露总大小:应用程序启动后,在内存泄漏检测过程中,内存泄漏总大小;
内存泄露地址总数:应用程序启动后,在内存泄漏检测过程中,内存泄漏地址总数。
在内存泄漏检测场景下,统计日志文件中,日志记录均为疑似内存泄漏,结合具体业务,对疑似内存泄漏记录进行逐条排查,定位泄漏原因,随后进行错误修复。
在优化应用程序性能场景下,统计日志文件中,日志记录为各模块在应用程序初始化阶段、运行阶段,内存块占用统计,根据日志记录,对内存占用较大的模块,进行重点优化。
以上为本发明优选实施例,而非限制本发明的权利要求保护范围;本领域的相关技术人员可以在不偏离本项发明技术思想的范围内,对发明进行多样等同修改,而这些修改,仍属本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种动态内存监测系统,其特征在于:包括信号管理模块、内存检测模块和分析输出模块;信号管理模块分别与内存检测模块以及分析输出模块相联;
所述信号管理模块向内存检测模块发送内存检测信号,所述信号管理模块向分析输出模块发送分析输出信号;
所述内存检测模块,用于监测内存块申请释放信息;
所述分析输出模块,用于接收内存检测模块记录的内存监测信息。
2.根据权利要求1所述的动态内存监测系统,其特征在于:分析输出模块具有结果分析单元和结果输出单元,结果分析单元和结果输出单元相连;结果分析单元用于分析整理内存监测信息;结果输出单元用于将分析结果以日志统计文件方式输出。
3.权利要求1所述的动态内存监测系统的监测方法,其特征在于,包括如下步骤:
1)在应用程序初始化阶段,若内存检测初始化开关打开,则直接进入步骤2);若内存检测初始化开关为关闭,则通过信号管理模块向内存检测模块发送开始内存检测信号;
2)内存检测模块进行内存检测;
2-1)创建内存块申请信息记录HASH表MONITOR,存放内存块申请信息;
2-2)内存检测模块接收到开始内存检测信号后,或从内存检测初始化开关获取开始内存检测状态后,开始监测内存使用情况;
2-3)在操作系统向应用程序分配内存前,内存检测模块记录所分配内存块的起始地址、内存块大小和申请内存分配函数栈信息;
2-4)应用程序使用内存块完毕,释放内存块时,以内存块起始地址关键字,在表MONITOR查找内存块记录信息,若找到同一地址所对应内存块信息记录,将MONITOR表中信息记录删除;
2-5)内存检测模块接收到信号管理模块发出的结束内存检测信号后,当内存块申请时停止记录申请信息;当内存块释放时,不再查询、修改MONITOR表;内存检测模块结束内存检测;
3)信号管理模块向分析输出模块发送分析输出信号;
3-1)分析输出模块创建内存块申请信息统计HASH表ANALYZER;
3-2)分析输出模块接收到分析输出信号后,逐个遍历MONITOR表内存块申请信息记录,从MONITOR表删除一个信息记录节点,以信息记录节点中申请内存分配函数栈信息为关键字,将信息记录保存至ANALYZER表;MONITOR表信息记录迁移至ANALYZER表过程中,将关键字相同的信息记录进行合并,将内存块大小进行累计;
3-3)当MONITOR表信息全部倒换到ANALYZER表后,将ANALYZER表中全部信息记录保存到输出文件中,最后,清空ANALYZER表;分析输出模块的分析输出过程结束。
4.根据权利要求3所述的动态内存监测系统的监测方法,其特征在于,包括如下步骤:在步骤2-3)内,以内存块起始地址为关键字,将内存块申请信息保存至MONITOR表。
5.根据权利要求3所述的动态内存监测系统的监测方法,其特征在于,包括如下步骤:步骤3-3)所述输出文件中,保存的信息即为最近一组信号,开始内存检测信号与结束内存检测信号之间,应用程序内存占用统计,用户根据实际业务对统计日志进行分析,是内存泄漏还是内存长期合理占用;在实际场景中,若应用程序内存泄漏已经全部排查完成,应用程序在运行过程中,无任何内存泄漏,则内存统计日志中,为应用程序各模块内存占用情况。
6.根据权利要求3所述的动态内存监测系统的监测方法,其特征在于,包括如下步骤:所述内存检测模块和分析输出模块为两个独立模块,步骤2)和步骤3)无严格时序关系;内存检测模块的开启与关闭由信号管理模块发送的信号决定;用户根据程序运行日志,准确判定内存块应该使用完毕,然后,发送检测信号;检测模块自动获取内存块使用信息,分析输出模块判断内存是否未释放,若未释放即为疑似内存越界。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710622071.9A CN107436845A (zh) | 2017-07-27 | 2017-07-27 | 一种动态内存监测系统及其监测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710622071.9A CN107436845A (zh) | 2017-07-27 | 2017-07-27 | 一种动态内存监测系统及其监测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107436845A true CN107436845A (zh) | 2017-12-05 |
Family
ID=60461239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710622071.9A Pending CN107436845A (zh) | 2017-07-27 | 2017-07-27 | 一种动态内存监测系统及其监测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107436845A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828885A (zh) * | 2018-12-15 | 2019-05-31 | 中国平安人寿保险股份有限公司 | RocketMQ内存监控方法、装置、电子设备及存储介质 |
CN110704176A (zh) * | 2019-08-19 | 2020-01-17 | 深圳英飞拓科技股份有限公司 | 系统堆残留内存的监测方法及装置 |
CN111552608A (zh) * | 2020-04-09 | 2020-08-18 | 烽火通信科技股份有限公司 | 一种驱动内存监控方法及系统 |
CN113326120A (zh) * | 2020-02-29 | 2021-08-31 | 杭州迪普科技股份有限公司 | 管理内存的装置和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466057A (zh) * | 2002-06-20 | 2004-01-07 | 华为技术有限公司 | 一种软件内存泄露的检查方法 |
CN101539870A (zh) * | 2008-03-21 | 2009-09-23 | 中兴通讯股份有限公司 | 内存泄漏检测装置及方法 |
CN105260313A (zh) * | 2015-10-27 | 2016-01-20 | 上海斐讯数据通信技术有限公司 | 内存泄漏检查系统及方法 |
CN106407031A (zh) * | 2016-09-14 | 2017-02-15 | 华为数字技术(成都)有限公司 | 一种内存泄露定位方法及电子设备 |
-
2017
- 2017-07-27 CN CN201710622071.9A patent/CN107436845A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466057A (zh) * | 2002-06-20 | 2004-01-07 | 华为技术有限公司 | 一种软件内存泄露的检查方法 |
CN101539870A (zh) * | 2008-03-21 | 2009-09-23 | 中兴通讯股份有限公司 | 内存泄漏检测装置及方法 |
CN105260313A (zh) * | 2015-10-27 | 2016-01-20 | 上海斐讯数据通信技术有限公司 | 内存泄漏检查系统及方法 |
CN106407031A (zh) * | 2016-09-14 | 2017-02-15 | 华为数字技术(成都)有限公司 | 一种内存泄露定位方法及电子设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828885A (zh) * | 2018-12-15 | 2019-05-31 | 中国平安人寿保险股份有限公司 | RocketMQ内存监控方法、装置、电子设备及存储介质 |
CN109828885B (zh) * | 2018-12-15 | 2023-02-07 | 中国平安人寿保险股份有限公司 | RocketMQ内存监控方法、装置、电子设备及存储介质 |
CN110704176A (zh) * | 2019-08-19 | 2020-01-17 | 深圳英飞拓科技股份有限公司 | 系统堆残留内存的监测方法及装置 |
CN113326120A (zh) * | 2020-02-29 | 2021-08-31 | 杭州迪普科技股份有限公司 | 管理内存的装置和方法 |
CN113326120B (zh) * | 2020-02-29 | 2023-12-26 | 杭州迪普科技股份有限公司 | 管理内存的装置和方法 |
CN111552608A (zh) * | 2020-04-09 | 2020-08-18 | 烽火通信科技股份有限公司 | 一种驱动内存监控方法及系统 |
CN111552608B (zh) * | 2020-04-09 | 2022-11-18 | 烽火通信科技股份有限公司 | 一种驱动内存监控方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107436845A (zh) | 一种动态内存监测系统及其监测方法 | |
US8479162B2 (en) | Method and apparatus for locating memory leak in a program | |
CN103578568B (zh) | 固态硬盘的性能测试方法及装置 | |
EP2026184B1 (en) | Device, method, and program for selecting data storage destination from a plurality of tape recording devices | |
CN108319543A (zh) | 一种计算机日志数据的异步处理方法及其介质、系统 | |
CN109656779A (zh) | 内存监控方法、装置、终端和存储介质 | |
CN109614262B (zh) | 业务校验方法、装置及计算机可读存储介质 | |
CN101539870A (zh) | 内存泄漏检测装置及方法 | |
US20080028049A1 (en) | Storage performance management method | |
CN103649926A (zh) | 提供在异构计算环境下访问主机数据对象 | |
CN110175163A (zh) | 基于业务功能智能解析的多库分离方法、系统及介质 | |
CN109669635A (zh) | 用于固态存储主控芯片的命令lba重合检测方法及装置 | |
US10467590B2 (en) | Business process optimization and problem resolution | |
CN111258881B (zh) | 一种用于工作流程测试的智能测试系统 | |
CN104504103A (zh) | 一种车辆轨迹点插入性能优化方法及系统、信息采集器、数据库模型 | |
CN109684141A (zh) | 一种磁盘故障诊断方法、装置、终端及可读存储介质 | |
US11704186B2 (en) | Analysis of deep-level cause of fault of storage management | |
CN115292266A (zh) | 一种基于存储器的高可靠日志存储方法 | |
CN104461925A (zh) | 一种存储设备地址对齐的自动纠正方法和装置 | |
CN107977296A (zh) | 一种nas存储系统性能测试的方法、装置和介质 | |
CN111459764B (zh) | 一种日志管理方法及终端 | |
CN110222035A (zh) | 一种基于异或校验与日志恢复的数据库页面高效容错方法 | |
CN107644041A (zh) | 保单结算处理方法和装置 | |
CN110134615B (zh) | 应用程序获取日志数据的方法及装置 | |
WO2016153377A1 (en) | Smart logging of trace data for storage systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171205 |