[发明专利]一种内存监控的方法和装置有效
申请号: | 200910132368.2 | 申请日: | 2009-03-30 |
公开(公告)号: | CN101515247A | 公开(公告)日: | 2009-08-26 |
发明(设计)人: | 张明振 | 申请(专利权)人: | 福建星网锐捷网络有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F11/32 |
代理公司: | 北京同达信恒知识产权代理有限公司 | 代理人: | 黄志华 |
地址: | 350015福建省福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 监控 方法 装置 | ||
1.一种内存监控的方法,网络设备定期对自身内存使用情况信息进行采样,并将采样数据存放于结构体中,其特征在于,包括:
选择监控的缓冲池,并设定监控周期;
根据设定的监控周期从所述结构体中获取所述缓冲池的结构体变量参数值,其中所述结构体变量参数值用于记录所述缓冲池内存使用情况的相关信息;
利用获取到的变量参数值计算得到相应的内存性能指标,并将得到的每个内存性能指标与设定的对应阈值进行比较,如果所述内存性能指标的任一项超过对应的阈值,则确定该缓冲池产生了内存碎片。
2.如权利要求1所述的方法,其特征在于,所述确定该缓冲池产生了内存碎片之后,进一步包括:
根据所述结构体中储存的缓冲池与各任务或模块的对应关系确定导致所述缓冲池产生内存碎片的任务或者模块,其中所述任务或者模块是申请或使用内存的实体。
3.如权利要求1所述的方法,其特征在于,
所述选择监控的缓冲池之前进一步包括:当选择监控任务或模块的内存使用情况时,通过结构体中存储的任务或模块与缓冲池的对应关系确定需要监控的至少一个缓冲池;
若确定所述缓冲池中的任意一个产生了内存碎片则判定所述任务或模块出现了异常。
4.如权利要求1~3任一权项所述的方法,其特征在于,所述内存性能指标包括空闲内存块slab总数,和/或,活动内存块slab中空闲对象单元的占有率;
则利用获取到的结构体变量参数值计算得到相应的内存性能指标,包括:
从所述结构体变量参数值中获取缓冲池中活动slab的总数和缓冲池中slab的总申请数,利用所述缓冲池中slab的总申请数减去活动slab的总数得到所述空闲slab总数;
从所述结构体变量参数值中获取半满slab中的空闲对象单元数,并用获取到的空闲对象单元数除以活动slab总数与每条slab所包含对象单元数的乘积得到所述活动slab中空闲对象单元的占有率。
5.如权利要求1~3任一权项所述的方法,其特征在于,根据所述缓冲池对应的任务或模块在运行过程中对内存的申请量、申请频度和该任务或者模块的功能重要性设定所述缓冲池的各阈值。
6.如权利要求1~3任一权项所述的方法,其特征在于,在确定该缓冲池产生了内存碎片后,该方法进一步包括对所述内存碎片的相关信息进行告警。
7.如权利要求6所述的方法,其特征在于,以web系统的短消息方式、在网络设备的液晶屏上进行信息告警显示、通过控制终端的追踪信息以及记录日志的方式中一种或几种进行告警。
8.一种内存监控的装置,网络设备定期对自身内存使用情况信息进行采样,并将采样数据存放于结构体中,其特征在于,包括:
预处理模块,用于选择监控的缓冲池,并设定监控周期,根据设定的监控周期从所述结构体中获取缓冲池的结构体变量参数值,其中所述结构体变量参数值用于记录所述缓冲池内存使用情况的相关信息;
确定模块,用于利用获取到的变量参数值计算得到相应的内存性能指标,并将得到的每个内存性能指标与设定的对应阈值进行比较,如果所述内存性能指标的任一项超过对应的阈值,则确定该缓冲池产生了内存碎片。
9.如权利要求8所述的装置,其特征在于,该装置还包括:
告警模块,用于对所述内存碎片的相关信息进行告警。
10.如权利要求8所述的装置,其特征在于,该装置还包括:
溯源模块,根据所述结构体中储存的缓冲池与使用内存的任务或模块的对应关系确定导致所述缓冲池产生内存碎片的任务或者模块。
11.如权利要求8所述的装置,其特征在于,所述预处理模块还用于当通过所述网络设备提供的外部接口选择监控任务或者模块的内存使用情况,则通过结构体中存储的任务或模块与缓冲池的对应关系确定需要监控的至少一个缓冲池;
则所述确定模块还用于在确定所述缓冲池中的任意一个产生了内存碎片之后,判定所述任务或模块出现了异常。
12.如权利要求8~11任一权项所述的装置,其特征在于,所述内存性能指标包括空闲内存块slab总数和/或活动内存块slab中空闲对象单元的占有率,则所述确定模块还用于:
从所述结构体变量参数值中获取缓冲池中活动slab的总数和缓冲池中slab的总申请数,利用所述缓冲池中slab的总申请数减去活动slab的总数得到所述空闲slab总数;
从所述结构体变量参数值中获取半满slab中的空闲对象单元数,并用获取到的空闲对象单元数除以活动slab总数与每条slab所包含对象单元数的乘积得到所述活动slab中空闲对象单元的占有率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建星网锐捷网络有限公司,未经福建星网锐捷网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910132368.2/1.html,转载请声明来源钻瓜专利网。