[發明專利]一種內存管理方法及其系統有效
| 申請號: | 201210089756.9 | 申請日: | 2012-03-30 |
| 公開(公告)號: | CN102662850A | 公開(公告)日: | 2012-09-12 |
| 發明(設計)人: | 鄭上閩 | 申請(專利權)人: | 杭州華三通信技術有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 北京鑫媛睿博知識產權代理有限公司 11297 | 代理人: | 龔家驊 |
| 地址: | 310053 浙江省杭州市高新技術產業*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 內存 管理 方法 及其 系統 | ||
技術領域
本發明涉及通信領域,尤其涉及一種內存管理方法及其系統。
背景技術
一個軟件系統中,內存大部分是動態申請的,即在使用的時候申請內存,使用之后釋放內存給系統,以便其他模塊使用。在嵌入式系統中,為了保證系統運行效率,系統中運行的所有模塊使用相同的內存空間,也就是整個系統的內存統一管理,內存可以被任何一個模塊申請使用。這樣,一旦某個模塊代碼的錯誤出現內存泄漏,或者受到攻擊,這個模塊可能會將整個系統的內存消耗掉,其它模塊申請不到內存,引起整個系統運行異常。
嵌入系統中,所有模塊共用系統內存。每個模塊申請內存的時候,帶上模塊的標識。系統將模塊的標識記錄到系統的內存管理信息部分。可以通過查看系統的內存管理信息,查看哪些模塊占用的內存較多,具體占用了多少。
由此可見,目前的內存管理機制,對于內存只記錄跟蹤情況,只能在出現問題后通過管理信息追查到各模塊所占用的內存大小,而沒有對模塊的內存分配進行控制的機制。
發明內容
本發明實施例提供了一種內存管理方法及其系統,用以實現對應用系統中的各模塊進行內存分配控制。
本發明實施例提供的內存管理方法,包括:根據應用系統中的各模塊所需內存和重要程度,分別為應用系統中的各模塊設置內存分配控制參數;當接收到模塊申請內存的請求時,獲取為所述模塊設置的內存分配控制參數,并根據獲取到的內存分配控制參數以及當前內存的使用情況,對所述模塊進行內存分配控制。
本發明實施例提供的內存管理系統,包括:參數設置單元,用于根據應用系統中的各模塊所需內存和重要程度,分別為應用系統中的各模塊設置內存分配控制參數;內存分配單元,用于當接收到模塊申請內存的請求時,獲取為所述模塊設置的內存分配控制參數,并根據獲取到的內存分配控制參數以及當前內存的使用情況,對所述模塊進行內存分配控制。
本發明實施例的上述實施例通過為應用系統中的各模塊設置內存分配控制參數,從而在為模塊分配內存時,可根據為該模塊設置的內存分配控制參數對該模塊的內存分配進行控制,與現有技術相比,實現了對模塊的內存分配控制,而不僅僅是記錄內存分配結果。
附圖說明
圖1為本發明實施例提供的內存分配流程示意圖;
圖2為本發明實施例提供的內存釋放流程示意圖;
圖3為本發明實施例提供的內存管理系統結構示意圖。
具體實施方式
本發明實施例為應用系統中的各模塊設置內存分配控制參數,使得不會一個模塊出現內存泄漏或者受到攻擊時,消耗掉整個應用系統的內存,引起整個系統崩潰。
下面結合附圖對本發明實施例進行詳細描述。
本實施例中,分別為應用系統中的各模塊設置內存分配控制參數,內存分配控制參數用于對相應模塊的內存分配控制。內存分配控制參數至少包括相應模塊的內存使用上限max_mem_size,該參數可以byte(字節)為單位。
一個模塊的max_mem_size的取值,可遵循以下原則之一或任意組合:
(1)一個模塊的max_mem_size取值要大于該模塊極端情況下的內存使用量最大值。
(2)max_mem_size的值可以根據分析來設置,比如某個模塊的功能主要是保存數據,每條數據占用內存最大1K?byte,系統規格保存10K條數據,再考慮到運行過程中的其他內存使用,這個模塊的max_mem_size設為30M比較合適。
(3)對于內存占用比較多,但是分配不到內存不會引起系統異常的模塊,可將該模塊的max_mem_size設置比較大,或者不做限制。
(4)對于分配不到內存就會影響整個系統,而且可能會占用內存較多的模塊,可在max_mem_size缺省值的基礎上進行調整。比如,網絡設備中,對于板間通信的模塊,需要將max_mem_size設置得比缺省值大。
在具體實施時,可為各模塊設置缺省max_mem_size,然后根據以上原則之一或組合,對缺省設置的max_mem_size進行調整。也可以根據實際應用過程中收集到的該模塊已申請的內存的最大值進行設置,比如,可以先不限制模塊的max_mem_size(即對該模塊可申請的內存量不做限制),然后模擬該模塊使用內存的極端情況,記錄該模塊內存使用量的最大值,然后將該內存使用量的最大值乘以一個系數作為該模塊的max_mem_size值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州華三通信技術有限公司,未經杭州華三通信技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210089756.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種帶身份識別的播放器
- 下一篇:磁盤裝置、前置放大器以及控制方法





