新四季網

一種內存監控的方法和裝置的製作方法

2023-10-09 05:37:19

專利名稱:一種內存監控的方法和裝置的製作方法
技術領域:
本發明涉及計算機網絡通信領域,尤其涉及一種內存監控的方法和裝置。
背景技術:
目前,計算機系統以及一些網絡設備的內存不管容量有多大,均是有限的,因此有效的應用這些內存是一個十分重要的問題。
現有技術中通常採用的內存管理的結構如圖1所示,其中,內存管理通常
採用雙層管理的方式,具體包括
第一層管理頁分配器101將物理內存切割成一定長度的內核內存頁,並管理該內核內存頁,才艮據申請內存的實體的類別將系統中的內存劃分到多個緩衝池中進行管理。
第二層管理Slab分配器102將緩沖池所包含的緩衝區劃分為多個Slab(是一種數據結構),Slab是由一個或多個(2N)連續頁(頁為內存的單元)組成的slab鏈條,另外,每個slab所包含的多個連續頁作為一個整體被分為多個對象單元(也可稱為對象體)。
有時候在系統中會出現內存洩露問題,內存洩漏並非指內存在物理上的消失,而是應用程式(即申請和使用內存的實體)在分配某段內存後,由於程序設計上的錯誤,如未設計釋放或者是主觀認為不必處理等原因,失去了對該,爻內存的控制,因而造成了內存的浪費。
另外還存在一種"隱式"內存洩漏,主要表現為
現象一程序的一個線程不斷分配內存,並將指向內存的指針保存在一個數據存儲中(如list),但是在程序運行過程中, 一直沒有任何線程進行內存釋放。當程序退出的時候,該數據存儲中的指針值所指向的內存塊被依次釋放。
5現象二程序的N個線程進行內存分配,並將指針傳遞給一個數據存儲,由M個線程從數據存儲進行數據處理和內存釋放。由於N遠大於M,或者M個線程數據處理的時間過長,導致內存分配的速度遠大於內存被釋放的速度。但是在程序退出的時候,數據存儲中的指針值所指向的內存塊被依次釋放。如果在使用內存的過程中存在上述現象則會導以下問題問題(l)內存洩露通過開發人員檢查代碼難以分析出來,邏輯上不易判
斷;
問題(2)有時, 一次內存洩露僅有很小的幾個字節,這種情況下,內存洩露需要較長時間的運行之後才能夠體現出來。
但無論哪種情況的內存洩露,在用戶實際的網絡環境中都會導致可用內存量不斷降低,導致系統最終無法運行,系統崩潰。
在現有技術中有部分網絡管理工具,如簡單網絡管理協議(Simple NetworkManger Protocol, SNMP)工具可以對設備內存進行查看,但僅限於產品支持的MIB (Management Information Base ),獲取到的值多悽史為內存利用率狀態,如下圖IA所示。
圖1A所顯示的內容是通過SNMP工具讀取的內存MIB信息,輸出結果為內存利用率,能夠看到內存使用的綜合結果,但是該方法仍存在一些問題,如以下提出的問題(3):
問題(3)該方法不能清晰的確認是否已經出現了內存洩漏等系統資源使用異常問題。
另外,現有技術中也有一些是使用代碼插樁的檢測方法,但會導致系統運行性能大大降低;並且該類檢測方法都形成為大型的商業軟體,成本代價較高。
問題(4)目前網絡設備系統上提供了一種查看接口,如show memory,但僅是信息的羅列,信息量相對比較龐大,列出了所有的任務內存使用情況,列出了不同大小字節類型的使用情況,列出了內存不同緩沖池使用情況,不明確,也不直觀。在該類軟體產品測試過程中,需要不斷的進行show memory類內存信息查看和比對,其中比對內存包括重點關注的字節數統計值,各個重 點功能協議內存利用統計值,很容易遺漏,觀察面不齊備,難以兼顧,效果不 是很好。

發明內容
本發明提供一種內存監控的方法和裝置,用於解決現有技中不能及時有 效的獲知內存洩露顯現的問題。
一種內存監控的方法,對使用內存的實體進行內存使用情況監控,待監
控實體的內存使用情況數據存儲在設定的存儲單元中,該方法包括
在一個監控周期內,從所述存儲單元中多次獲取待監控實體的內存使用 情況數據,並將連續兩次獲取到的內存使用情況數據進行比較;
如果每次得到的比較結果都是後一次比前一次所述實體使用內存的總 數多,則確定所述實體存在內存洩露現象。
一種內存監控的方法,對使用內存的緩衝池進行內存使用情況監控,待 監控緩衝池的內存使用情況數據存儲在設定的存儲單元中,該方法包括
在一個監控周期內,從所述存儲單元中多次獲取待監控緩沖池的內存使 用情況數據,並將連續兩次獲取到的內存使用情況數據進行比較;
如果每次得到的比較結果都是後一次比前一次所述實體使用內存的總 數多,則確定所述緩衝池存在內存洩露現象。
一種內存監控的裝置,對使用內存的實體進行內存使用情況監控,包括
抽樣模塊,用於在一個監控周期內,從存儲內存使用情況數據的存儲單元 中多次獲取待監控實體的內存使用情況數據;
比較模塊,用於將連續兩次獲取到的內存使用情況數據進行比較,如果 每次得到的比較結果都是後一次比前一次所述實體使用內存的總數多,貝'J 確定所述實體存在內存洩露現象。
一種內存監控的裝置,對緩衝池進行內存使用情況監控,包括抽樣模塊,用於在一個監控周期內,從存儲內存使用情況數據的存儲單
元中多次獲取待監控緩沖池的內存使用情況數據;
比較模塊,用於將連續兩次獲取到的內存使用情況數據進行比較,如果 每次得到的比較結果都是後一次比前一次所述緩衝池使用內存的總數多, 則確定所述緩衝池存在內存洩露現象。通過本發明實施例所提供的方法和 裝置,通過周期性的獲取某個使用內存的實體的內存使用情況數據,從而 能夠有效監控系統內存洩露現象,另外,在獲取內存使用情況數據的同時 還設置一定的外部操作,使得抽取到的內存使用情況數據能夠更為明顯的 體現內存洩露問題,因此本發明實施例所提供的方法能夠大大縮短內存洩 露問題發現周期。


圖1為現有技術中內存管理的結構圖1A為現有技術中網絡管理協議工具對設備內存進行查看時的內存使用 情況示意圖2為本發明實施例一種內存監控方法的流程圖; 圖2A為本發明一種內存監控方法的實施例1的流程圖; 圖3為本發明一種內存監控方法的實施例2的流程圖; 圖4為現有技術中利用show pool命令顯示的各緩沖池和實體對應關係和 內存使用情況示意圖5本發明實施例^t是供的一種內存監控裝置的結構圖6本發明實施例針對實施例1所提供的一種內存監控裝置的結構圖。
具體實施例方式
本發明實施例提供一種內存監控的方法和裝置,對使用內存的實體進行內 存使用情況監控,待監控實體的內存使用情況數據存儲在設定的存儲單元中,所述待監控實體的內存使用情況數據隨著待監控實體的內存使用情況變化,該
方法包括在一個監控周期內,從所述存儲單元中多次獲取待監控實體的內存 使用情況數據,並將連續兩次獲取到的內存使用情況數據進行比較;如杲每次 得到的比較結果都是後一次比前一次所述實體使用內存的總數多,則確定所述 實體存在內存洩露現象。
如圖2所示,本發明實施例一種內存監控的方法,對使用內存的實體進行 內存使用情況監控,具體實現方法包括步驟:
步驟201,在一個監控周期內,從存儲內存使用情況數據的存儲單元中 多次獲取待監控實體的內存使用情況數據,所述待監控實體的內存使用情 況數據隨著待監控實體對內存的使用情況而變化。
步驟202,將連續兩次獲取到的所述實體的內存使用情況數據進行比 較,如杲每次得到的比較結果都是後一次比前一次所述實體使用內存的總 數多,則確定所述實體存在內存洩露現象。
另外,當所述實體使用內存的總數沒有一直增長時,為了進一步的確定 所述實體是否出現內存洩漏現象,該方法還進一步包括
步驟203,如果得到的比較結果是後一次所述實體使用內存的總數不大 於前一次所述實體使用內存的總數,則將後一次獲取到的內存使用情況數 據與預先設置的實體使用內存的上限進行比較,如果比較結果為所述實體 使用內存的總數比所述預先設置的實體使用內存的上限多,則確定所述實 體存在內存洩露現象。
所述實體使用內存的上限依據各實體在實際環境運行中對內存的申請 數量、申請頻度和功能重要性動態生成。
如圖3所示,當所述內存使用情況數據標示的是被監控實體在多個緩衝 池中使用內存的使用情況時,則在確定所述實體存在內存洩露現象後,本 發明實施例還進一步包括
步驟204,獲取所述被監控實體在各緩衝池中申請的內存的使用情況數據,並確定存在內存洩漏的緩沖池。
實施例1、如圖2A所示, 一種內存監控的方法,對緩衝池進行內存使用 情況監控,具體實現方法包括步驟
步驟2A01,在一個監控周期內,從內存使用情況數據存儲單元中多次 獲取待監控緩衝池的內存使用情況數據,內存使用情況數據存儲單元中保 存有待監控緩衝池的內存使用情況數據,所述待監控緩衝池的內存使用情 況數據隨著緩衝池內存的使用情況而變化。
步驟2A02,將連續兩次獲取到的所述緩衝池的內存使用情況數據進行 比較,如果每次得到的比較結果都是後一次比前一次所述緩沖池使用內存 的總數多,則確定所述緩衝池存在內存洩露現象。
另外,當所述緩衝池使用內存的總數沒有一直增長時,為了進一步的確 定所述緩衝池是否出現內存洩漏現象,該方法還進一步包括
步驟2A03,如果得到的比較結果是後一次所述實體使用內存的總數不 大於前一次所述緩衝池使用內存的總數,則將後一次獲取到的內存使用情 況數據與預先設置的緩沖池使用內存的上限進行比較,如果比較結果為所 述緩衝池使用內存的總數比所述預先設置的緩衝池使用內存的上限多,貝'J 確定所述緩衝池存在內存洩露現象。
進一步,因為緩沖池中緩存多個實體使用的內存,為了進一步確定造成 內存洩漏的實體,該實施例還包括
步驟2A04,確定該緩衝池對應的實體,在一個監控周期內,分別從內 存使用情況數據存儲單元中多次獲取待監控實體的內存使用情況數據。
步驟2A05,將連續兩次獲取到的所述實體的內存使用情況數據進行比 較,如果每次得到的比較結果都是後一次比前一次所述實體使用內存的總 數多,則確定所述實體存在內存洩露現象。
另外,當所述實體使用內存的總數沒有一直增長時,為了進一步的確定 所述實體是否出現內存洩漏現象,該方法還進一步包括
10步驟2A06,如果得到的比較結果是後一次所述實體使用內存的總數不 大於前一次所述實體使用內存的總數,則將後一次獲取到的內存使用情況 數據與預先設置的實體使用內存的上限進行比較,如果比較結果為所述實 體使用內存的總數比所述預先設置的實體使用內存的上限多,則確定所述 實體存在內存洩露現象。
實施例2,如圖3所示,在本發明實施例中可以將內存使用情況數據存儲 於結構體中,所述內存使用情況數據則用結構體變量值標示,而且在本實施例 中結構體變量值隨實體使用內存總數的增加而增加,則本發明實施例一種內存 監控的方法,具體包括步驟
步驟301,通過預先設置的接口設置對象參數和監控參數,其中所述串口 可以是一個命令行界面(CLI, command-line interface)接口 ;
所述對象參數用於在存儲內存使用情況數據的結構體中定位標示所述實 體內存使用情況的結構體變量值,該對象參數具體包括被監控實體的名稱(該 實體申請和使用內存)和該實體申請內存的緩衝池。
監控參數包括抽樣周期(指在監控過程中抽取內存使用數據的時間間隔) 和監控周期(指一次監控的時長)等。
在實際的使用中,通過CLI接口輸入的監控參數具體形式可以是monitor [memory…][OSPF | BGP | LDP | NSM |…][[32 | 64 | 128 | 256…][time] [Long] [Endtime];
其中,monitor-^旨明監控的目的,即做什麼操作;[memory…]-指明進 行監控內存信息;[OSPF I BGP I LDP | NSM | ...]—此處方括號內部是可選的, 即用於監控哪些任務信息;[[32 I 64 I 128 | 256...]—此處方括號內部是可選的, 指明監控哪些緩衝池;[time] [Long] [Endtime]—是時間參數,用於指明監控的 時間間隔,時長或者結束時間等信息。
步驟302,根據所述對象參數從存儲內存使用信息的結構體中獲取內存使 用情況的結構體變量值;當監控對象是實體時,獲取的是所述實體的內存使用情況數據,當監控對象是緩沖池時,獲取的是所述緩衝池的內存使用情況數據, 當同時指定了實體和緩衝池時,獲取的是所述實體使用所述緩衝池中內存的內 存使用情況數據。
在現有技術中,因為網絡設備的所有內存使用數據都儲存在系統平臺的一 個結構體中,其中,該結構體中保存監控實體的名稱、實體申請內存的緩衝池 的名稱與所述標示實體內存使用情況的結構體變量值的對應關係,所述某個實 體(該實體可以是任務或者模塊)的內存使用情況數據則為一個具體的結構體
顯示接口 (現有技術中可以通過show pool命令顯示)顯示,顯示的內容可以 是如圖4所示的形式
在結構體中的數據包括各緩衝池的名字、使用該緩沖池的多個實體的名稱 等信息。
這些信息通過結構體進行保存,結構體中存儲數據的樣式可以是 typedef struct pool—stat_s {
char 任務名數組[MAX—TASK][BLOCK—NAME—LEN];
char 緩衝池名數組[MAX—POOL][CACHE—NAMELEN]; sizej 大小[MAX_POOL][MAX—TASK];
pool—using—t use[MAX—POOL][MAX—TASK]; /*用於保存中間臨
時變量/
} pool_stat—t;
在對象參數中設定了緩衝池的名稱和使用內存的實體的名稱,所以通過這 兩個參數則可從存儲內存使用情況數據的結構體中獲取標示該實體內存使用 情況的結構體變量值,其中,該內存使用情況數據標示該實體所使用的內存大 小。
步驟303,將當前獲取到的結構體變量值與保存的結構體變量值進行比較,如果當前獲取到的結構體變量值大於等於保存的結構體變量值,則應用當前獲
取的結構體變量值更新保存的內存結構體變量值,並轉入步驟304,否則轉入 步驟306;
步驟304,將比較結果標記為True,並將該比較結果存儲到預先設置的結 構體變量中。
步驟305,判斷監控的總時長是否大於等於預先設置的監控周期,如果是, 則輸出所述比較結果,並判定被監控的實體存在內存洩露問題,否則在間隔一 個抽樣周期後執行步驟302。
在本發明實施例中,將獲取的內存使用情況數據進行比較的具體實現方式 包括
將獲取到的歷史數據進行比較時,具體的實現方式包括
在Tl時刻獲取表示所述實體內存使用情況的數據1,間隔抽樣周期的T2 時刻獲取表示所述實體內存使用情況的數據2,將數據1和數據2都存儲在結 構體變量中,數據1存儲在預先設置的的結構體變量大小 [MAX一POOL][MAX一TASK]中,數據2可以存儲在結構體變量use [MAX—POOL] [MAX—TASK]中,將大小[MAX—POOL] [MAX—TASK]與use [MAX一POOL][MAX一TASK]進行比較,如果
大小[MAX一POOL][MAX_TASK]<= use [MAX一POOL][MAXJTASK]則存 儲比較結果為True,並將比較結果存放於BOOL變量中;
在間隔一個抽樣周期後的T3時刻獲取表示實體內存使用情況的數據3, 這時將 use [MAX_POOL] [MAX—TASK] 的值給大小 [MAX_POOL][MAX_TASK],將數據3存儲到use [MAX_POOL][MAX_TASK] 中,再次將大小[MAX—POOL][MAX—TASK]與use [MAX—POOL][MAX—TASK] 進行比較。
如果大小[MAX—POOL][MAX—TASK]>= use [MAX—POOL][MAX—TASK] 則存儲比較結果為False值,在本發明實施例中一旦更新BOOL為False,則終
13止比較。
在本發明實施例中確定結構體變量值位置的參數信息是組合形式,可以根
據監控的需要設置監控的具體信息,本系統則提取上述結構體"stat—s"中的參數 進行分析。如,可以對5分鐘時間內使用內存最多的或前三位的實體進行抽樣 監控。
為了在上述方法的基礎上更為準確的檢測到內存洩露問題,在步驟303中 如果當前獲取到的內存使用情況數據小於保存的內存使用情況數據,本發明實 施例還包括
步驟306,結束抽樣,將當前獲取到的標示所述實體內存使用情況的結構 體變量值與預設的閥值(L)進行比較,如果當前獲取到的結構體變量值大於 所述閥值(L),則確定所述實體存在內存洩露現象,其中,所述閥值是任一使 用內存的實體所能使用內存的上限值。
其中,所述閥值L動態生成,生成辦法是依據各個實體實際環境運行對內 存的申請多少、申請頻度和模塊的功能重要性等來決定,如OSPF模塊在網絡 環境中相對比較重要,決定數據流的轉發行為,1千條路由同時申請內存時需 要3M內存空間,再根據設備上形成鄰居數,如5K路由和50鄰居規模,則這 1千條路由同時申請約需要20M空間,再將20M空間乘以預留因子1.1 (可能 還會有一些其他因素的影響),最終確定為22M;
相同的1K條BGP的vpn4路由則需要約384K ( (128*2+128*鄰居數)*路 由數)內存空間,另外1K條BGP的vpn4路由的申請的內存空間還受限於設 備上的虛擬路由轉發(vrf, Virtual Routing Forwarding)實體數量,根據 這些因素計算網絡規模100K需要內存約為40M,乘以預留因子1.1,即定義 為44M。
另外為了能及早的通知用戶系統中出現的內存洩露問題,本發明實施例還 包括步驟
307,根據設定的告警方式和格式對所述內存洩露問題進行告警。其中,告警的方式包括以web系統的短消息方式、在網絡設備的液晶屏 上進行信息告警顯示、通過各控制終端的追蹤(trap )信息以及記錄日誌(log ) 的形式等方式。可以選擇多個形式並存的方式進行告警。另外在告警信息中可 以給出申請非法或者申請超過預定閥值,內存申請異常,當前值是多少等信息。
進一步,為了縮短發現內存洩露問題的時間,本發明實施例所提供的方法, 在獲取內存使用情況數據的時候,還為該方法的具體實現提供一定的外部條 件,具體包括
A, 對於如協議類ospf任務的監控,在指定的時間內,進行多次(如10 次)路由的公告和撤銷操作,其中,公告和撤銷的路由數量可設置為1K條, 通過上述多次的路由公告和撤銷操作,則使結構體中保存的該任務的內存使用 情況數據出現明顯的變化,從而通過上述內存監控的方法則可觀察到該任務對 其佔用緩沖池內存空間的操作,即內存的申請和釋放行為。這種情形下,如果 指定時間內內存持續增加的增量從未減少過,即上述BOOL變量的值一直存儲 的是True,則確定該監控對象出現了內存洩露;
B, 對於如協議類ospf任務的監控,通過一次性將公告的路由數量值設置 到最大,如一次公告100K(設備容限為IOOK),然後將其撤銷,較短時間間 隔(如3分鐘),再次進行該路由公告,如此反覆多次(如10次),如果BOOL 變量參數為False,多次操作後實際佔用內存空間的增長值大於了預期閥值L, 則確定ospf任務出現了內存洩露現象。
如圖5所示,根據上述方法,對使用內存的實體進行內存使用情況監控, 本發明實施例還包括一種內存監控的裝置,具體包括抽樣模塊501、比較模 塊502,其中,
抽樣模塊501,用於在一個監控周期內,從存儲內存使用情況數據的存 儲單元中多次獲取待監控實體的內存使用情況數據,所述待監控實體的內 存使用情況數據隨著待監控實體的內存使用情況變化;
比較模塊502,用於將連續兩次獲取到的內存使用情 數據進行比較,如果每次得到的比較結果都是後一次比前一次所述實體使用內存的總數 多,則確定所述實體存在內存洩露現象。
另外當所述實體使用內存的總數沒有 一直增長時,為了進一 步的確定所
述實體是否出現內存洩漏現象,則所述比較模塊502還用於如果得到的比 較結果是後一次所述實體使用內存的總數比前一次少,則將後一次獲取到 的內存使用情況數據與預先設置的實體使用內存的上限進行比較,如果比 較結果為後一次所述實體使用內存的總數比所述實體使用內存的上限多, 則確定所述實體存在內存洩露現象。
為了將系統中的內存洩漏問題及時的告知用戶,本發明裝置還包括 告警模塊503,用於根據設定的告警方式和格式對所述內存洩露現象進行 告警。
並且,該告警模塊通過以下方式中的一種或幾種的組合進行告警 web系統的短消息方式、在網絡設備的液晶屏上進行信息告警顯示、通
過各控制終端的追蹤(trap)信息以及記錄日誌(log)的形式等方式。
如圖6所示,針對圖2A所提供的方法本發明實施例還提供一種內存監
控的裝置,對緩衝池進行內存使用情況監控,該裝置包括抽樣模塊601和比
較模塊602:
抽樣模塊601,用於在一個監控周期內,從存儲內存使用情況數據的存 儲單元中多次獲取待監控緩沖池的內存使用情況數據;
比較模塊602,用於將連續兩次獲取到的內存使用情況數據進行比較, 如果每次得到的比較結果都是後一次比前一次所述緩衝池使用內存的總數 多,則確定所述緩衝池存在內存洩露現象。
其中,當比較結杲都是後一次比前一次所述緩沖池使用內存的總數少 時,為了進一步的確定該緩衝池是否存在內存洩漏現象,所述比較模塊602 還用於將後一次獲取到的內存使用情況數據與預先設置的緩沖池使用內存 的上限進行比較,如果比較結果為所述緩衝池使用內存的總數比所述預先設置的緩衝池使用內存的上限多,則確定所述緩衝池存在內存洩露現象。
進一步,在確定某個緩衝池存在內存洩漏問題後,需要確定緩沖池中某
個實體導致內存洩漏現象,則該裝置還包括實體監控模塊603;
所述實體監控模塊603,用於確定該緩衝池對應的多個實體,並分別對 各實體對該緩衝池的內存使用情況進行監控;在一個監控周期內,從存儲 內存使用情況數據的存儲單元中多次獲取各實體對應該緩衝池的內存使用 情況數據,並將各實體連續兩次獲取到的內存使用情況數據進行比較;如 果其中有實體每次得到的比較結果都是後一次比前一次使用內存的總數 多,則確定所述實體存在內存洩露現象。
通過本發明實施例所提供的方法和裝置,周期性的獲取某個使用內存的實 體的內存使用情況數據,從而能夠有效監控系統內存洩露現象,另外,在獲取 內存使用情況數據的同時還設置一定的外部操作,使得抽取到的內存使用情況 數據能夠更為明顯的體現內存洩露問題,因此本發明實施例所提供的方法能夠 大大縮短內存洩露問題發現周期。
因為本發明實施例所提供的方法是預先確定監控的實體,所以在確定出現 內存洩露問題則可直接定位到造成內存洩露的模塊。
本發明實施例還提供監控緩衝池內存使用情況的方法和裝置,用戶可以從 不同的途徑監控內存系統中出現的內存洩漏問題。
另外本方法不需要藉助外部測試設備,由被測設備系統實現,成本較低; 能夠及時、直觀、形象輸出系統哪些任務模塊、哪些字節等出現了內存洩露, 還能夠監控和發現內存使用不合理的模塊。
員根據本發明的技術方案得出其它的實施方式,同樣屬於本發明的技術創新範
明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及 其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
權利要求
1、一種內存監控的方法,對使用內存的實體進行內存使用情況監控,其特徵在於,待監控實體的內存使用情況數據存儲在設定的存儲單元中,該方法包括在一個監控周期內,從所述存儲單元中多次獲取待監控實體的內存使用情況數據,並將連續兩次獲取到的內存使用情況數據進行比較;如果每次得到的比較結果都是後一次比前一次所述實體使用內存的總數多,則確定所述實體存在內存洩露現象。
2、 如權利要求l所述的方法,其特徵在於,如果得到的比較結果是後 一次所述實體使用內存的總數不大於前一次所述實體使用內存的總數,則 該方法進一步包括將後 一次獲取到的內存使用情況數據與預先設置的實體使用內存的上 限進行比較,如果比較結果為所述實體使用內存的總數比所述預先設置的 實體使用內存的上限多,則確定所述實體存在內存洩露現象。
3、 如權利要求1 2任一權項所述的方法,其特徵在於,在確定所述實體 存在內存洩露現象之後,進一步包括根據設定的告警方式和格式對所述內存洩露現象進行告警。
4、 如權利要求1 2任一權項所述的方法,其特徵在於,當所述內存使 用情況數據標示的是被監控實體在多個緩衝池中申請的內存的使用情況 時,則在確定所述實體存在內存洩露現象後進一步包括分別獲取所述被監控實體在所述多個緩衝池中申請的內存的使用情況 數據,並根據該使用情況數據確定存在內存洩漏的緩沖池。
5、 一種內存監控的方法,對緩衝池進行內存使用情況監控,其特徵在於, 待監控緩衝池的內存使用情況數據存儲在設定的存儲單元中,該方法包括在一個監控周期內,從所述存儲單元中多次獲取待監控緩沖池的內存使 用情況數據,並將連續兩次獲取到的內存使用情況數據進行比較;如果每次得到的比較結果都是後一次比前一次所述實體使用內存的總 數多,則確定所述緩沖池存在內存洩露現象。
6、 如權利要求5所述的方法,其特徵在於,如果得到的比較結果是後 一次所述緩衝池使用內存的總數不大於前一次所述緩衝池使用內存的總 數,則該方法進一步包括將後 一次獲取到的內存使用情況數據與預先設置的緩衝池使用內存的 上限進行比較,如果比較結果為所述緩衝池使用內存的總數比所述預先設 置的緩衝池使用內存的上限多,則確定所述緩衝池存在內存洩露現象。
7、 如權利要求5或6任一權項所述的方法,其特徵在於,所述緩衝池 中緩存多個實體使用的內存,則該方法進一步包括確定該緩衝池對應的多個實體,並分別對各實體對該緩沖池的內存使用 情況進行監控;在一個監控周期內,從存儲內存使用情況數據的存儲單元中多次獲取各 實體對應該緩衝池的內存使用情況數據,並將各實體連續兩次獲取到的內 存使用情況數據進行比較;如果其中有實體每次得到的比較結果都是後一次比前一次使用內存的總數多,則確定所述實體存在內存洩露現象。
8、 一種內存監控的裝置,對使用內存的實體進行內存使用情況監控,其 特徵在於,包括抽樣模塊,用於在一個監控周期內,從存儲內存使用情況數據的存儲單元 中多次獲取待監控實體的內存使用情況數據;比較模塊,用於將連續兩次獲取到的內存使用情況數據進行比較,如果 每次得到的比較結果都是後一次比前一次所述實體使用內存的總數多,則 確定所述實體存在內存洩露現象。
9、 如權利要求IO所述的裝置,其特徵在於,所述比較模塊用於如果得 到的比較結果是後一次所述實體使用內存的總數比前一次少,則將後一次獲取到的內存使用情況數據與預先設置的實體使用內存的上限進行比較, 如果比較結果為後一次所述實體使用內存的總數比所述實體使用內存的上 限多,則確定所述實體存在內存洩露現象。
10、 如權利要求8或9所述的裝置,其特徵在於,該裝置還包括 告警模塊,用於根據設定的告警方式和格式對所述內存洩露現象進行告警。
11、 一種內存監控的裝置,對緩衝池進行內存使用情況監控,其特徵在 於,包括抽樣模塊,用於在一個監控周期內,從存儲內存使用情況數據的存儲單 元中多次獲取待監控緩衝池的內存使用情況數據;比較模塊,用於將連續兩次獲取到的內存使用情況數據進行比較,如果 每次得到的比較結果都是後一次比前一次所述緩沖池使用內存的總數多, 則確定所述緩衝池存在內存洩露現象。
全文摘要
本發明公開了一種內存監控的方法和裝置,對使用內存的實體進行內存使用情況監控,內存使用情況數據存儲單元中保存有待監控實體的內存使用情況數據,所述待監控實體的內存使用情況數據隨著待監控實體的內存使用情況變化,該方法包括在一個監控周期內,從所述內存使用情況數據存儲單元中多次獲取所述待監控實體的內存使用情況數據,並將連續兩次獲取到的內存使用情況數據進行比較;如果每次得到的比較結果都是後一次比前一次所述實體使用內存的總數多,則確定所述實體存在內存洩露現象。利用本發明所提供的方法和裝置能夠及時的發現系統中不易察覺的內存洩漏問題。
文檔編號G06F11/36GK101599048SQ20091014677
公開日2009年12月9日 申請日期2009年7月1日 優先權日2009年7月1日
發明者張明振, 李炳泉, 陳佑建 申請人:福建星網銳捷網絡有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀