[发明专利]内存分配的监测方法及装置在审
申请号: | 201510572104.4 | 申请日: | 2015-09-09 |
公开(公告)号: | CN105243003A | 公开(公告)日: | 2016-01-13 |
发明(设计)人: | 宗栋瑞;郭美思 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 解婷婷;曲鹏 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 分配 监测 方法 装置 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种内存分配的监测方法及装置。
背景技术
系统在程序运行的过程中,可能发生频繁死机或无法正常工作的现象,即系统崩溃。
导致系统崩溃的原因很多,比如,系统中存在病毒,或者,运行的程序中存在漏洞(bug),或者,内存泄漏等。其中,内存泄露是指在程序运行时,系统不断的为正在运行的程序分配内存,并将指向内存的指针保存在一个数据存储中,直到程序退出时,才依次释放指针所指向的内存块,该指针为存储在数据存储中的指针。
系统在运行程序的过程中,若内存占用量不断增加,则可能导致内存泄漏,从而产生系统崩溃,然而,本领域技术人员发现,现有技术中无法对程序运行的过程中内存占用量进行实时监测。
发明内容
本发明提供一种内存分配的监测方法及装置,用以解决无法对程序运行的过程中内存占用量进行实时监测的问题。
本发明的第一个方面是提供一种内存分配的监测方法,包括:
获取文件信息和内存信息,所述文件信息包括触发分配内存的文件名称和文件行号,所述内存信息包括为执行所述文件行号指示的文件所分配的内存信息,所述文件行号为所述文件名称指示的文件的行号;
根据所述文件信息和内存信息,确定所述文件行号指示的文件占用的内存总量。
进一步的,所述获取文件信息和内存信息,还包括:
将所述文件信息和所述内存信息存储在消息队列中,所述消息队列包括文件名称、文件行号和为所述文件行号分配的内存信息。
进一步的,所述根据所述文件信息和内存信息,确定所述文件行号指示的文件占用的内存总量,包括:
根据所述文件名称对应的文件标识和所述消息队列,确定所述文件行号指示的文件占用的内存总量。
进一步的,所述获取文件信息和内存信息之后,还包括:
根据所述文件信息和所述消息队列,确定所述文件名称标示的文件占用的总内存量;
将所述内存总量与所述总内存量相除,获得内存百分比;
若所述内存百分比大于一预设值,则确定存在内存泄漏;
若所述内存百分比小于或等于一预设值,则确定不存在内存泄漏。
进一步的,所述获取文件信息和内存信息之前,还包括:
在申请内存模块函数中设置获取所述文件信息和所述内存信息。
本发明的第额个方面是提供一种内存分配的监测装置,包括:
获取模块,用于获取文件信息和内存信息,所述文件信息包括触发分配内存的文件名称和文件行号,所述内存信息包括为执行所述文件行号指示的文件所分配的内存信息,所述文件行号为所述文件名称指示的文件的行号;
确定模块,用于根据所述文件信息和内存信息,确定所述文件行号指示的文件占用的内存总量。
进一步的,还包括:存储模块,
所述存储模块,用于将所述文件信息和所述内存信息存储在消息队列中,所述消息队列包括文件名称、文件行号和为所述文件行号分配的内存信息。
进一步的,所述确定模块,具体用于根据所述文件名称对应的文件标识和所述消息队列,确定所述文件行号指示的文件占用的内存总量。
进一步的,所述确定模块,还用于根据所述文件信息和所述消息队列,确定所述文件名称标示的文件占用的总内存量;将所述内存总量与所述总内存量相除,获得内存百分比;若所述内存百分比大于一预设值,则确定存在内存泄漏;若所述内存百分比小于或等于一预设值,则确定不存在内存泄漏。
进一步的,所述获取模块,还用于在申请内存模块函数中设置获取所述文件信息和所述内存信息。
本发明提供一种内存分配的监测方法及装置。通过获取文件信息和内存信息,所述文件信息包括触发分配内存的文件名称和文件行号,所述内存信息包括为执行所述文件行号指示的文件所分配的内存信息,所述文件行号为所述文件名称指示的文件的行号;根据所述文件信息和内存信息,确定所述文件行号指示的文件占用的内存总量。实现了对程序运行的过程中内存占用量的实时监测,从而避免了内存泄漏,进而减少了系统崩溃的几率。
附图说明
图1为本发明内存分配的监测方法一实施例的流程示意图;
图2为本发明内存分配的监测装置一实施例的结构示意图;
图3为本发明内存分配的监测装置二实施例的结构示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510572104.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动化测试软件的方法及系统
- 下一篇:业务对象的异常告警方法和装置