對資源泄漏的檢測的制作方法
【專利摘要】本發明公開一種用于檢測計算系統中的資源泄漏的方法。該方法包括下列步驟:獲得(S210、S320)表示時間序列中的樣本之一的與計算系統中的資源有關的用量;確定(S220、S330)樣本是否趨向于增大;以及如果確定樣本趨向于增大,則報告(S230、S340)計算系統中的資源泄漏的發生。還公開一種用于檢測計算系統中的資源泄漏的設備(600)。
【專利說明】對資源泄漏的檢測
【技術領域】
[0001]一般來說,本發明涉及計算系統中的資源管理。更具體來說以及在各種實施例中,本發明涉及用于檢測計算系統中的資源泄漏的方法、設備、計算機程序產品和計算機可讀介質。
【背景技術】
[0002]存儲器泄漏(或者在這個上下文中,泄漏)在計算機程序消耗存儲器、但是無法將其重新釋放給操作系統時發生。它能夠通過降低可用存儲器的量來削弱計算機的性能。最終,在最壞情況下,過多的可用存儲器可變得已被分配并且系統或裝置的全部或部分停止工作,應用失敗,或者系統因超負荷而不可接受地慢下來。
[0003]但是,特別是在大型系統、例如電信軟件中,難以具有對存儲器泄漏的準確且及時的檢測或預測,部分是因為當泄漏開始時通常不會有直接征兆。
[0004]開發了多種方法和技術來解決存儲器泄漏問題。例如,開發了一種方法,其中設置存儲器用量的固定閾值,以及如果總存儲器用量的峰值超過該固定閾值,則確定存儲器處于存儲器泄漏狀態。圖1示出用于檢測計算機中的存儲器泄漏的示意過程。如圖1所示,在步驟S110,測量計算機的當前存儲器用量。然后,在步驟S120,如果確定所測量用量大于預定閾值TH1,則進行到步驟S130,其中向操作系統報告泄漏的發生;否則,該過程繼續進行步驟S140,其中經過預定間隔,然后該過程返回到步驟S120。
[0005]但是,該方法未能考慮如下事實:存儲器用量通常與系統的服務負荷成比例,并且因而在一些情況下,高于閾值的存儲器用量的主要峰值并非暗示存儲器泄漏,而只是高負荷。一旦負荷下降,則存儲器用量將返回其正常等級。此外,突然泄漏可引起存儲器在短時期耗盡,而對于這種方法,如果閾值THl不適當地設置為高值,則在存儲器容量完全不可用以前,可能沒有充分時間預先發出警告。
[0006]另一種方式是在開發階段,采用諸如從IBM(Armonk, New York, U.S.A.)可獲得的Rational Purify?之類的調試程序來執行用于查找潛在泄漏的一系列測試。但是,對于大型且復雜的系統,不可能在測試中調查全部代碼分支,并且因而只能降低泄漏的可能性。另夕卜,調試是耗費時間的過程,并且將顯著延長開發過程。
【發明內容】
[0007]目的是消除上述缺點中的至少一些,并且提供用于檢測資源泄漏的改進解決方案。
[0008]本發明的方面包括一種用于檢測計算系統中的資源泄漏的方法。該方法可包括下列步驟:獲得表示時間序列中的樣本之一的與計算系統中的資源有關的用量;確定樣本是否趨向于增大;以及如果確定樣本趨向于增大,則報告計算系統中的資源泄漏的發生。
[0009]在按照本發明的一個優選實施例中,在確定步驟中,如果存在時間序列中的升序樣本集合,則確定樣本趨向于增大。更優選地,在確定步驟中,升序樣本集合被表征如下:
【權利要求】
1.一種用于檢測計算系統中的資源泄漏的方法,包括下列步驟: -獲得(S210,S320)表示時間序列中的樣本之一的與所述計算系統中的資源有關的用量; -確定(S220,S330)所述樣本是否趨向于增大;以及 -如果確定所述樣本趨向于增大,則報告(S230,S340)所述計算系統中的所述資源泄漏的發生。
2.如權利要求1所述的方法,其中,在確定步驟(S220,S330)中,如果存在所述時間序列中的升序樣本集合,則確定所述樣本趨向于增大。
3.如權利要求2所述的方法,其中,所述升序樣本集合被表征如下:
4.如權利要求1所述的方法,其中,通過周期性地測量所述用量來獲得所述樣本。
5.如權利要求1所述的方法,其中,所述資源是可用于整個計算系統、應用或進程的存儲器或者文件描述符。
6.一種用于檢測計算系統中的資源泄漏的設備(600),包括: -第一單元(610),用于獲得表示時間序列中的樣本之一的與所述計算系統中的資源有關的用量; -第二單元(620),用于確定由所述第一單元(610)獲得的所述樣本是否趨向于增大;以及 -第三單元(630),用于如果所述第二單元(620)確定所述樣本趨向于增大,則報告所述計算系統中的所述資源泄漏的發生。
7.如權利要求6所述的設備(600),其中,所述確定由所述第二單元(620)按照如下方式來執行:如果存在所述時間序列中的升序樣本集合,則確定所述樣本趨向于增大。
8.如權利要求7所述的設備(600),其中,所述升序樣本集合被表征如下:
9.如權利要求8所述的設備(600),其中,所述第一單元(610)周期性地測量所述用量,以便獲得所述樣本。
10.如權利要求6所述的設備(600),其中,所述資源是所述計算系統中可用的存儲器或者文件描述符。
11.一種計算機程序產品,適合于當運行于計算機上時執行如權利要求1-5中的任一項所述的方法。
12.—種計算機可讀介質,包含適合于執行如權利要求1-5中的任一項所述的步驟的計算機可執行程序代碼。`
【文檔編號】G06F11/30GK103460194SQ201180069278
【公開日】2013年12月18日 申請日期:2011年3月15日 優先權日:2011年3月15日
【發明者】呂鵬 申請人:愛立信(中國)通信有限公司