[发明专利]一种内存监控的方法和装置有效
申请号: | 200910146771.0 | 申请日: | 2009-07-01 |
公开(公告)号: | CN101599048A | 公开(公告)日: | 2009-12-09 |
发明(设计)人: | 张明振;陈佑建;李炳泉 | 申请(专利权)人: | 福建星网锐捷网络有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;H04L12/26 |
代理公司: | 北京同达信恒知识产权代理有限公司 | 代理人: | 黄志华 |
地址: | 350015福建省福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 监控 方法 装置 | ||
技术领域
本发明涉及计算机网络通信领域,尤其涉及一种内存监控的方法和装置。
背景技术
目前,计算机系统以及一些网络设备的内存不管容量有多大,均是有限的, 因此有效的应用这些内存是一个十分重要的问题。
现有技术中通常采用的内存管理的结构如图1所示,其中,内存管理通常 采用双层管理的方式,具体包括:
第一层管理:页分配器101将物理内存切割成一定长度的内核内存页,并 管理该内核内存页,根据申请内存的实体的类别将系统中的内存划分到多个缓 冲池中进行管理。
第二层管理:Slab分配器102将缓冲池所包含的缓冲区划分为多个Slab(是 一种数据结构),Slab是由一个或多个(2N)连续页(页为内存的单元)组成 的slab链条,另外,每个slab所包含的多个连续页作为一个整体被分为多个对 象单元(也可称为对象体)。
有时候在系统中会出现内存泄露问题,内存泄漏并非指内存在物理上的消 失,而是应用程序(即申请和使用内存的实体)在分配某段内存后,由于程序 设计上的错误,如未设计释放或者是主观认为不必处理等原因,失去了对该段 内存的控制,因而造成了内存的浪费。
另外还存在一种“隐式”内存泄漏,主要表现为:
现象一:程序的一个线程不断分配内存,并将指向内存的指针保存在一个 数据存储中(如list),但是在程序运行过程中,一直没有任何线程进行内存释 放。当程序退出的时候,该数据存储中的指针值所指向的内存块被依次释放。
现象二:程序的N个线程进行内存分配,并将指针传递给一个数据存储, 由M个线程从数据存储进行数据处理和内存释放。由于N远大于M,或者M 个线程数据处理的时间过长,导致内存分配的速度远大于内存被释放的速度。 但是在程序退出的时候,数据存储中的指针值所指向的内存块被依次释放。
如果在使用内存的过程中存在上述现象则会导以下问题:
问题(1)内存泄露通过开发人员检查代码难以分析出来,逻辑上不易判 断;
问题(2)有时,一次内存泄露仅有很小的几个字节,这种情况下,内存 泄露需要较长时间的运行之后才能够体现出来。
但无论哪种情况的内存泄露,在用户实际的网络环境中都会导致可用内存 量不断降低,导致系统最终无法运行,系统崩溃。
在现有技术中有部分网络管理工具,如简单网络管理协议(Simple Network Manger Protocol,SNMP)工具可以对设备内存进行查看,但仅限于产品支持 的MIB(Management Information Base),获取到的值多数为内存利用率状态, 如下图1A所示。
图1A所显示的内容是通过SNMP工具读取的内存MIB信息,输出结果 为内存利用率,能够看到内存使用的综合结果,但是该方法仍存在一些问题, 如以下提出的问题(3):
问题(3)该方法不能清晰的确认是否已经出现了内存泄漏等系统资源使 用异常问题。
另外,现有技术中也有一些是使用代码插桩的检测方法,但会导致系统运 行性能大大降低;并且该类检测方法都形成为大型的商业软件,成本代价较高。
问题(4)目前网络设备系统上提供了一种查看接口,如show memory, 但仅是信息的罗列,信息量相对比较庞大,列出了所有的任务内存使用情况, 列出了不同大小字节类型的使用情况,列出了内存不同缓冲池使用情况,不明 确,也不直观。在该类软件产品测试过程中,需要不断的进行show memory 类内存信息查看和比对,其中比对内存包括重点关注的字节数统计值,各个重 点功能协议内存利用统计值,很容易遗漏,观察面不齐备,难以兼顾,效果不 是很好。
发明内容
本发明提供一种内存监控的方法和装置,用于解决现有技中不能及时有 效的获知内存泄露显现的问题。
一种内存监控的方法,对使用内存的实体进行内存使用情况监控,待监 控实体的内存使用情况数据存储在设定的存储单元中,该方法包括:
在一个监控周期内,从所述存储单元中多次获取待监控实体的内存使用 情况数据,并将连续两次获取到的内存使用情况数据进行比较;
如果每次得到的比较结果都是后一次比前一次所述实体使用内存的总 数多,则确定所述实体存在内存泄露现象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建星网锐捷网络有限公司,未经福建星网锐捷网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910146771.0/2.html,转载请声明来源钻瓜专利网。