[發明專利]一種文件描述符泄露檢測方法及裝置在審
| 申請號: | 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.szxzyx.cn/pat/books/201810314861.5/2.html,轉載請聲明來源鉆瓜專利網。





