[發明專利]內存回收與分配的方法及裝置有效
| 申請號: | 201310263454.3 | 申請日: | 2013-06-27 |
| 公開(公告)號: | CN103365784A | 公開(公告)日: | 2013-10-23 |
| 發明(設計)人: | 吳建國;裘稀石 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 深圳市威世博知識產權代理事務所(普通合伙) 44280 | 代理人: | 何青瓦 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 回收 分配 方法 裝置 | ||
1.一種內存回收與分配的方法,其特征在于,包括:
接收內存分配請求;
在接收所述內存分配請求后,若當前第一內存管理區的內存不滿足預定的大小,則判斷所述當前第一內存管理區的回收模式是否表示回收所述當前第一內存管理區,其中,所述當前第一內存管理區的回收模式是根據所述當前第一內存管理區所屬節點的拓撲情況來確定的;
若所述當前第一內存管理區的回收模式表示回收所述當前第一內存管理區,則對所述當前第一內存管理區進行回收;
響應于所述內存分配請求,對回收后的所述當前第一內存管理區的內存進行分配。
2.根據權利要求1所述的方法,其特征在于,所述方法還包括:根據所述當前第一內存管理區所屬節點的拓撲情況確定所述當前第一內存管理區的回收模式。
3.根據權利要求2所述的方法,其特征在于,所述根據所述當前第一內存管理區所屬節點的拓撲情況確定所述當前第一內存管理區的回收模式的步驟,包括:
若所述當前第一內存管理區是所述當前第一內存管理區所屬節點的最后一個內存管理區,則判斷系統內存管理區鏈表Zonelist中是否存在與所述當前第一內存管理區之間的距離大于預設回收距離的第二內存管理區;
若存在與所述當前第一內存管理區之間的距離大于預設回收距離的第二內存管理區,則確定所述當前第一內存管理區的回收模式是回收所述當前第一內存管理區。
4.根據權利要求3所述的方法,其特征在于,所述判斷系統內存管理區鏈表Zonelist中是否存在與所述當前第一內存管理區之間的距離大于預設回收距離的第二內存管理區的步驟之后,還包括:
若存在與所述當前第一內存管理區之間的距離小于或等于所述預設回收距離的第三內存管理區,則判斷所述系統內存管理區鏈表Zonelist中是否存在空閑內存大于預設閾值的第三內存管理區;
若存在空閑內存大于預設閾值的第三內存管理區,則響應于所述內存分配請求,分配所述空閑內存大于預設閾值的第三內存管理區的內存。
5.根據權利要求1所述的方法,其特征在于,所述判斷當前第一內存管理區的回收模式是否表示回收所述當前第一內存管理區的步驟之前,還包括:
若所述當前第一內存管理區的內存不滿足預定的大小,則判斷所述當前第一內存管理區已建立的備用內存管理區鏈表Zonelist中是否存在滿足預定大小的第四內存管理區;
若存在滿足預定大小的第四內存管理區,則響應于所述內存分配請求,分配所述備用內存管理區鏈表Zonelist中滿足預定大小的第四內存管理區的內存。
6.根據權利要求5所述的方法,其特征在于,所述方法還包括:建立當前第一內存管理區的備用內存管理區鏈表Zonelist;
所述建立當前第一內存管理區的備用內存管理區鏈表Zonelist的步驟,包括:
判斷所述系統內存管理區鏈表Zonelist中是否存在與當前第一內存管理區之間的距離小于等于預設回收距離的第四內存管理區;
若存在與當前第一內存管理區之間的距離小于預設回收距離的第四內存管理區,則將所述與當前第一內存管理區之間的距離小于預設回收距離的第四內存管理區添加到所述當前第一內存管理區的備用內存管理區鏈表Zonelist中。
7.一種內存回收與分配的裝置,其特征在于,所述裝置包括:接收模塊、第一判斷模塊、回收模塊以及第一分配模塊;
所述接收模塊用于接收內存分配請求;
所述第一判斷模塊用于在所述接收模塊接收所述內存分配請求后,在當前第一內存管理區的內存不滿足預定的大小時,判斷所述當前第一內存管理區的回收模式是否表示回收所述當前第一內存管理區,其中,所述當前第一內存管理區的回收模式是根據所述當前第一內存管理區所屬節點的拓撲情況來確定的;
所述回收模塊用于在所述第一判斷模塊的判斷結果為所述當前第一內存管理區的回收模式表示回收所述當前第一內存管理區時,對所述當前第一內存管理區進行回收;
所述第一分配模塊用于在所述回收模塊回收當前第一內存管理區后,響應于所述內存分配請求,對回收后的所述當前第一內存管理區的內存進行分配。
8.根據權利要求7所述的裝置,其特征在于,所述裝置還包括確定模塊,所述確定模塊用于根據當前第一內存管理區所屬節點的拓撲情況確定所述當前第一內存管理區的回收模式。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310263454.3/1.html,轉載請聲明來源鉆瓜專利網。





