[发明专利]一种文件描述符泄漏检测的方法及装置有效
申请号: | 202011582830.1 | 申请日: | 2020-12-28 |
公开(公告)号: | CN112732640B | 公开(公告)日: | 2023-07-25 |
发明(设计)人: | 汪庆权 | 申请(专利权)人: | 杭州迪普科技股份有限公司 |
主分类号: | G06F16/11 | 分类号: | G06F16/11;G06F11/30;G06F11/34 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 王茹 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 描述 泄漏 检测 方法 装置 | ||
本申请提供一种文件描述符泄漏检测方法及装置,所述方法包括:基于预设的检测周期,周期性的对待检测的目标进程进行如下检测,以确定所述目标进程是否发生文件描述符泄漏:从所述目标进程对应的文件描述符集合中依次读取文件描述符;获取所述文件结构体信息中的时间信息,所述时间信息包括所述目标进程最近一次访问所述文件的时刻对应的第一时间戳;确定当前时刻对应的第二时间戳与所述第一时间戳的时间间隔是否达到预设阈值;如果是,确定所述目标进程发生文件描述符泄漏。通过以上技术方案提高了检测效率,使之更加准确及时。
技术领域
本申请涉及通信技术领域,尤其涉及一种文件描述符泄漏检测的方法及装置。
背景技术
在Linux操作系统中,一切皆可以看成是文件,例如普通文件、目录、链接和设备均被视为一个文件。当在Linux系统中的进程打开或新建一个文件时,内核会向该进程返回文件描述符,文件描述符是内核为了高效管理进程打开的文件所创建的索引,是一个非负整数。
在Linux内核中,对应于每个进程都有一个文件描述符表,表示这个进程打开的所有文件,每个进程的文件描述符表是独立的,文件描述符fd和文件file指针是文件描述符表的重要内容,文件描述符fd就是这个表的索引,文件file指针指向已打开文件对应的struct file结构体。文件结构体代表一个打开的文件,系统中的每个打开的文件在内核空间都有一个关联的struct file,它由内核在打开文件时创建,并传递给在文件上进行操作的任何函数,结构体中描述了文件的打开模式,读写位置等重要信息。
在文件描述符表中,前3个文件描述符默认被占用,0是标准输入,1是标准输出,2是标准错误。如果此时去打开一个新的文件,它的文件描述符会是3,再去打开一个文件,文件描述符fd就会递增。通常,进程占用的文件描述符默认最大值是1024个。每打开一个文件,会占用一个文字描述符,如果不需要的文件一直打开而不关闭,仍然占用文件描述符,文件描述符会持续增加直到上限,没有新的文件描述符可用,此时无法给文件分配新的文件描述符,导致应用程序不能打开新的文件,造成业务异常甚至崩溃。这种文件没有及时关闭反而持续占用文件描述符的现象叫文件描述符泄露。
发明内容
有鉴于此,本申请提供一种文件描述符泄漏检测的方法及装置,用于实现文件描述符泄漏的检测。
根据本申请实施例的第一方面,提供一种文件描述符泄漏检测的方法,所述方法包括:
基于预设的检测周期,周期性的对待检测的目标进程进行如下检测,以确定所述目标进程是否发生文件描述符泄漏:
从所述目标进程对应的文件描述符集合中依次读取文件描述符;所述文件描述符集合包括所述目标进程已打开的文件占用的文件描述符;所述文件描述符对应的文件描述符信息用于确定所述已打开文件的文件结构体信息;
获取所述文件结构体信息中的时间信息,所述时间信息包括所述目标进程最近一次访问所述文件的时刻对应的第一时间戳;
确定当前时刻对应的第二时间戳与所述第一时间戳的时间间隔是否达到预设阈值;如果是,确定所述目标进程发生文件描述符泄漏。
根据本申请实施例的第二方面,提供一种文件描述符泄漏检测的装置,所述装置包括:
基于预设的检测周期,周期性的对待检测的目标进程进行如下检测,以确定所述目标进程是否发生文件描述符泄漏:
第一读取单元,用于从所述目标进程对应的文件描述符集合中依次读取文件描述符;所述文件描述符集合包括所述目标进程已打开的文件占用的文件描述符;所述文件描述符对应的文件描述符信息用于确定所述已打开文件的文件结构体信息;
获取单元,用于获取所述文件结构体信息中的时间信息,所述时间信息包括所述目标进程最近一次访问所述文件的时刻对应的第一时间戳;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州迪普科技股份有限公司,未经杭州迪普科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011582830.1/2.html,转载请声明来源钻瓜专利网。