[发明专利]一种文件描述符泄露检测方法及装置在审
申请号: | 201810314861.5 | 申请日: | 2018-04-10 |
公开(公告)号: | CN108628740A | 公开(公告)日: | 2018-10-09 |
发明(设计)人: | 谢春平;符志清 | 申请(专利权)人: | 杭州迪普科技股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件描述符 目标进程 泄露检测 泄露 集合 目标进程标识 进程标识 实现文件 周期统计 告警 监控 客户端 描述符 检测 日志 申请 输出 记录 进程 统计 | ||
本申请提供一种文件描述符泄露检测方法及装置,包括:获取监控集合中待检测的目标进程的目标进程标识;所述监控集合中记录了需要进行文件描述符泄露检测的进程的进程标识;统计所述目标进程在当前周期内的文件描述符个数;依据当前周期统计的所述文件描述符个数,确定所述目标进程是否发生文件描述符泄露;如果是,输出告警日志至相应的客户端。使用本申请提供的方法,可以实现文件描述符泄露的检测。
技术领域
本申请涉及计算机通信领域,尤其涉及一种文件描述符泄露检测方法及装置。
背景技术
在LINUX操作系统中,内核利用文件描述符来访问文件。文件描述符形式上是一个非负整数。当在LINUX系统中的进程打开一个现存文件或者新建一个文件时,内核会向该进程返回文件描述符。
通常,LINUX系统中的文件描述符的有效范围是0到OPEN_MAX(允许一个进程同时打开文件描述符的上限)。换句话来说,一个进程最多可以同时打开OPEN_MAX个文件描述符。当程序代码未对称使用文件描述符的打开函数和关闭函数(即程序写了使用文件描述符的打开函数,而没有写使用该文件描述符的关闭函数)时,该进程中的文件描述符数量会一直增加。当文件描述增加到OPEN_MAX时,该进程无法在进行文件的打开或者创建操作。这里,将这种未对称使用文件描述符的打开函数和关闭函数导致进程打开的文件描述符持续增加的现象叫做文件描述符泄露。
发明内容
有鉴于此,本申请提供一种文件描述符泄露检测方法及装置,用以实现文件描述符泄露的检测。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种文件描述符泄露检测方法,包括:
获取监控集合中待检测的目标进程的目标进程标识;所述监控集合中记录了需要进行文件描述符泄露检测的进程的进程标识;
统计所述目标进程在当前周期内的文件描述符个数;
依据当前周期统计的所述文件描述符个数,确定所述目标进程是否发生文件描述符泄露;
如果是,输出告警日志至相应的客户端。
可选的,所述依据当前周期统计的所述文件描述符个数,确定所述目标进程是否发生文件描述符泄露,包括:
确定当前周期统计的所述文件描述符个数是否超过第一预设阈值。
可选的,所述依据当前周期统计的所述文件描述符个数,确定所述目标进程是否发生文件描述符泄露,包括:
确定所述目标进程在N个周期内分别统计的文件描述符个数是否递增;
其中,所述N个周期包括当前周期,以及前N-1个周期;其中,N为大于0的整数。
可选的,所述确定所述目标进程在N个周期内分别统计的文件描述符个数是否递增,包括:
基于预设算法,对所述目标进程在N个周期分别统计的文件描述符个数进行拟合生成目标曲线,并确定目标曲线的斜率在各个周期是否大于0;或者,
确定所述N个周期中的预设事件发生次数是否大于第二预设阈值;
其中,所述预设事件是:所述目标进程在任两个连续周期中后一周期统计的文件描述符个数大于前一周期统计的文件描述符个数;其中所述任两个连续的周期属于所述N个周期。
可选的,所述方法还包括:
当检测到所述监控集合中的任一进程停止运行时,将该停止运行的进程从该监控集合中删除,并删除已记录的与该停止运行的进程对应的文件描述符个数;
当检测到有新建进程时,在确定该新建进程为用户态进程后,将该新建进程添加至所述监控集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州迪普科技股份有限公司,未经杭州迪普科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810314861.5/2.html,转载请声明来源钻瓜专利网。