[發明專利]一種內存控制方法及裝置有效
| 申請號: | 201610991706.8 | 申請日: | 2016-11-10 |
| 公開(公告)號: | CN108073520B | 公開(公告)日: | 2021-09-14 |
| 發明(設計)人: | 劉海鵬 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02;G06F9/50 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 郝傳鑫;賈允 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 內存 控制 方法 裝置 | ||
本發明提供一種內存控制方法及裝置,所述方法包括:創建內存檢查器,所述內存檢查器運行于獨立線程;接收內存檢查請求,觸發內存檢查事件;判斷應用是否處于前臺運行狀態,若是,比較應用占用內存量、系統剩余內存量、系統剩余虛擬內存量與預設分階段閾值的大小關系,根據比較結果,進行內存控制;所述預設分階段閾值基于應用內存目標階段曲線設立;若否,依據系統內存事件級別做出相應強度的內存回收。本發明依據應用內存目標階段曲線實現對前臺應用實現更加精細的內存管理,能夠在應用層面上解決應用不斷索要系統內存與系統內存總量有限的矛盾,能夠有效利用硬件資源,同時提升用戶體驗。
技術領域
本發明屬于智能設備管理技術領域,具體涉及一種內存控制方法及裝置。
背景技術
內存作為應用運行的基本資源,影響著應用的性能、穩定性、流暢度等用戶可感知指標。一方面應用為了達成用戶滿意的可感知指標,不斷的向系統索要內存;另一方面系統內存總量總是有限的,這就構成了一個矛盾。系統為了保障高優先級應用的運行,在內存不足的時候總是需要殺掉一部分低優先級應用以使得可用內存維持在必要范圍內。因此,內存需要得到控制,以避免應用被系統所殺,保障應用本身的合理內存使用,防止應用物理內存膨脹而導致系統殺掉其他低優先級應用甚至應用本身,防止應用邏輯內存膨脹引發崩潰。
但是,現有技術中,系統內存的清理事件是對所有應用進行統一地清理,清理不包含對某一個應用的內存管理操作,當系統內存占用過多時,會啟動系統清理內存事件,系統的內存事件是依據系統全局的物理內存狀態來發出的,并不能反映應用本身的邏輯內存占用情況,這的實際上無法滿足對內存的精細管理要求,無法平衡應用不斷索要內存與內存總量有限之間的矛盾。
發明內容
發明人在不斷實踐和摸索過程中,發現應用內存隨著使用階段不同,對于內存用量具有不同的需求,需求量可以通過目標階段曲線來體現,這條曲線將應用內存控制分為四個階段:侵略增長階段、和緩增長階段、前后臺切換階段以及后臺階段,每個階段實施不同的內存控制策略,以達到不同的內存控制企圖。
申請人基于上述發現提出一種內存控制方法,所述方法包括如下步驟:
創建內存檢查器,所述內存檢查器運行于獨立線程;接收內存檢查請求,觸發內存檢查事件;判斷應用是否處于前臺運行狀態,若應用處于前臺運行狀態,比較應用占用內存量、系統剩余內存量、系統剩余虛擬內存量與預設分階段閾值的大小關系,根據比較結果,進行內存控制;所述預設分階段閾值基于應用內存目標階段曲線設立;若應用不處于前臺運行狀態,依據系統內存事件級別做出相應強度的內存回收。
優選地,所述預設分階段閾值包括:侵略增長閾值、和緩增長閾值、剩余內存閾值;所述比較應用占用內存量、系統剩余內存量、系統剩余虛擬內存量與預設分階段閾值,根據比較結果,進行內存控制步驟包括:比較所述當前應用占用內存量與侵略增長閾值、和緩增長閾值的大小關系;比較系統剩余內存量、系統剩余內存量與系統剩余虛擬內存量的大小關系;根據比較結果判斷是否進行內存回收。
優選地,所述比較應用占用內存量、系統剩余內存量、系統剩余虛擬內存量與預設分階段閾值,根據比較結果,進行內存控制步驟包括如下子步驟:比較當前應用占用內存量與和緩增長閾值,若所述當前應用占用內存量大于所述和緩增長閾值,則進行內存回收;若所述當前應用占用內存量小于所述和緩增長閾值,則比較當前應用占用內存量與侵略增長閾值;比較當前應用占用內存量與侵略增長閾值;若當前應用占用內存量大于侵略增長閾值,則比較系統剩余內存量與剩余內存閾值;若當前應用占用內存量小于侵略增長閾值,則比較剩余虛擬內存值與剩余內存閾值;比較系統剩余內存量與剩余內存閾值,若系統剩余內存量小于剩余內存閾值,則進行內存回收;若系統剩余內存量大于剩余內存閾值,則比較剩余虛擬內存值與剩余內存閾值;比較剩余虛擬內存值與剩余內存閾值,若剩余虛擬內存值大于剩余內存閾值則不進行內存回收;否則,進行內存回收;比較剩余虛擬內存值與剩余內存閾值,若剩余虛擬內存值大于剩余內存閾值則不進行內存回收;否則,進行內存回收。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610991706.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種測試用例管理方法及裝置
- 下一篇:一種數據去重的方法和系統





