[发明专利]内存泄漏告警方法及装置在审
申请号: | 202110854775.5 | 申请日: | 2021-07-28 |
公开(公告)号: | CN113672417A | 公开(公告)日: | 2021-11-19 |
发明(设计)人: | 胡术潮 | 申请(专利权)人: | 杭州迪普科技股份有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/32 |
代理公司: | 北京金讯知识产权代理事务所(特殊普通合伙) 11554 | 代理人: | 黄剑飞 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 泄漏 告警 方法 装置 | ||
1.一种内存泄漏告警方法,其特征在于,包括:
定时获取内存的占用信息;
定时判断当前内存占用信息和前次内存占用信息之间的数据量,根据所述数据量生成第一标记值序列;
定时判断第一标记值序列中的标记值和第一策略之间的关系,在满足第一策略时,生成第二标记值序列;
定时判断第二标记值序列中的标记值和第二策略之间的关系,在满足第二策略时,确定所述内存泄漏;
基于所述第二标记值序列确定存在内存泄露的节点并生成告警信息。
2.如权利要求1所述的方法,其特征在于,定时获取内存的占用信息,包括:
定时获取内存的用户态内存数值;和/或
定时获取内存的内核态小块内存数值;和/或
定时获取内存的内核态大块内存数值;和/或
定时获取内存的整数幂内存数值。
3.如权利要求2所述的方法,其特征在于,定时获取内存的用户态内存数值,包括:
基于malloc函数申请用户态内存;
基于用户态内存中RSS字段获取用户态内存数值。
4.如权利要求2所述的方法,其特征在于,定时获取内存的内核态小块内存数值,包括:
基于slab分配器申请内核态小块内存;
基于内核态小块内存中“num_objsobj_size字段获取内核态小块内存数值。
5.如权利要求2所述的方法,其特征在于,定时获取内存的内核态大块内存数值,包括:
基于vmalloc函数申请内核态大块内存;
基于shell命令获取内核态大块内存数值。
6.如权利要求2所述的方法,其特征在于,定时获取内存的整数幂内存数值,包括:
基于alloc_pages函数申请多块整数幂内存;
基于shell命令获取多块整数幂内存的多块数值;
基于所述多块内存数值确定整数幂内存数值。
7.如权利要求1所述的方法,其特征在于,根据所述数据量生成第一标记值序列,包括:
在所述数据量增加时,将所述第一标记值序列的当前序列值设置为1。
8.如权利要求1所述的方法,其特征在于,在满足第一策略时,生成第二标记值序列,包括:
在所述第一标记值序列中的最近若干次结果中的序列值为1时,将所述第二标记值序列的当前序列值设置为2。
9.如权利要求1所述的方法,其特征在于,在满足第二策略时,确定所述内存泄漏,包括:
在所述第二标记值序列中的最近若干次结果中的序列值为2且当前值与初始值增长超过第一阈值时,确定所述内存泄漏。
10.如权利要求9所述的方法,其特征在于,在满足第二策略时,确定所述内存泄漏,还包括:
在所述第二标记值序列中的当前序列值为2且当前值与初始值增长超过第二阈值时,确定所述内存泄漏。
11.一种内存泄漏告警装置,其特征在于,包括:
信息模块,用于定时获取内存的占用信息;
数量模块,用于定时判断当前内存占用信息和前次内存占用信息之间的数据量,根据所述数据量生成第一标记值序列;
第一关系模块,用于定时判断第一标记值序列中的标记值和第一策略之间的关系,在满足第一策略时,生成第二标记值序列;
第二关系模块,用于定时判断第二标记值序列中的标记值和第二策略之间的关系,在满足第二策略时,确定所述内存泄漏;
告警模块,用于基于所述第二标记值序列确定存在内存泄露的节点并生成告警信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州迪普科技股份有限公司,未经杭州迪普科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110854775.5/1.html,转载请声明来源钻瓜专利网。