[发明专利]一种文件描述符泄漏检测的方法及装置有效
申请号: | 202011582830.1 | 申请日: | 2020-12-28 |
公开(公告)号: | CN112732640B | 公开(公告)日: | 2023-07-25 |
发明(设计)人: | 汪庆权 | 申请(专利权)人: | 杭州迪普科技股份有限公司 |
主分类号: | G06F16/11 | 分类号: | G06F16/11;G06F11/30;G06F11/34 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 王茹 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 描述 泄漏 检测 方法 装置 | ||
1.一种文件描述符泄漏检测的方法,其特征在于,所述方法包括:
基于预设的检测周期,周期性的对待检测的目标进程进行如下检测,以确定所述目标进程是否发生文件描述符泄漏:
从所述目标进程对应的文件描述符集合中依次读取文件描述符;所述文件描述符集合包括所述目标进程已打开的文件占用的文件描述符;所述文件描述符对应的文件描述符信息用于确定所述已打开的文件的文件结构体信息;所述文件结构体包括用于记录所述文件读取的时刻的第一字段和所述文件写入的时刻的第二字段;
响应于所述目标进程针对所述文件的读取命令,调用操作系统中的第一内核函数更新所述第一字段记录的所述文件读取的时刻;
响应于所述目标进程针对所述文件的写入命令,调用操作系统中的第二内核函数更新所述第二字段记录的所述文件写入的时刻;
响应于所述目标进程针对所述文件的读取写入命令,调用操作系统中的第三内核函数更新所述第一字段记录的所述文件读取的时刻和所述第二字段记录的所述文件写入的时刻;
针对读取到的文件描述符,获取所述文件描述符关联的指针所指向的文件结构体,获取所述文件结构体信息中的时间信息,所述时间信息包括所述目标进程最近一次访问所述文件的时刻对应的第一时间戳;其中,所述目标进程最近一次访问所述文件的时刻,包括:所述目标进程最近一次对所述文件进行文件读取的时刻;以及,所述目标进程最近一次对所述文件进行文件写入的时刻;所述第一时间戳包括:所述文件读取的时刻和所述文件写入的时刻中的最大值;
确定当前时刻对应的第二时间戳与所述第一时间戳的时间间隔是否达到预设阈值;如果是,确定所述目标进程发生文件描述符泄漏。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果确定所述目标进程发生文件描述符泄漏,则减小所述检测周期;
如果确定所述文件描述符未泄露,则增大所述检测周期。
3.根据权利要求1所述的方法,其特征在于,在所述从所述目标进程对应的文件描述符集合中依次读取文件描述符之前,所述方法还包括:
从与当前检测周期对应的监控进程集合中获取待检测的所述目标进程的进程标识;所述监控进程集合包括需要进行文件描述符泄露检测的进程的进程标识;
根据所述目标进程的标识获取对应的文件描述符集合。
4.根据权利要求1所述的方法,其特征在于,所述操作系统为Linux操作系统;所述第一内核函数为vfs_read或vfs_readv函数;所述第二内核函数为vfs_write或vfs_writev函数;所述第三内核函数为do_sendfile函数。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定所述目标进程发生文件描述符泄露时,生成所述目标进程发生文件描述符泄露的告警信息,并将所述告警信息发送给相关的用户。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州迪普科技股份有限公司,未经杭州迪普科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011582830.1/1.html,转载请声明来源钻瓜专利网。