[發明專利]內存處理方法、裝置、電子設備及計算機可讀存儲介質有效
| 申請號: | 202010556023.6 | 申請日: | 2020-06-17 |
| 公開(公告)號: | CN111694673B | 公開(公告)日: | 2023-05-16 |
| 發明(設計)人: | 張翔 | 申請(專利權)人: | 抖音視界有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F11/14 |
| 代理公司: | 北京風雅頌專利代理有限公司 11403 | 代理人: | 郭曼 |
| 地址: | 100041 北京市石景山區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 處理 方法 裝置 電子設備 計算機 可讀 存儲 介質 | ||
1.一種內存處理方法,其特征在于,包括:
以預定頻率檢測應用程序當前占用內存是否達到預設內存占用閾值,所述預設內存占用閾值小于所述應用程序總內存;
若所述應用程序當前占用內存達到預設內存占用閾值,獲取所述應用程序的內存快照,并重新啟動所述應用程序;
將所述內存快照上傳至服務器,以使服務器分析所述內存快照;或利用預設分析工具分析所述內存快照,并將所述分析結果上傳至服務器;
所述利用預設分析工具分析所述內存快照,并將所述分析結果上傳至服務器,包括:
利用預設分析工具獲取所述內存快照中大對象的內部引用分布結果,并將所述大對象的內部引用分布結果上傳至服務器;
其中,所述大對象包括所述內存快照每一類中的對象內存大小超過第一預設內存閾值的對象,所述大對象包括內部引用鏈路,通過所述內部引用鏈路確定第一引用大對象,以記錄所述第一引用大對象的數據作為所述內部引用分布結果。
2.根據權利要求1所述的方法,其特征在于,所述若所述應用程序當前占用內存達到預設內存占用閾值,獲取所述應用程序的內存快照,包括:
若所述應用程序當前占用內存達到預設內存占用閾值,創建子進程,并在所述子進程中調用預設函數獲取所述應用程序的內存快照。
3.根據權利要求1所述的方法,其特征在于,所述在所述應用程序重新啟動后,將所述內存快照上傳至服務器,包括:
利用預設裁剪工具壓縮所述內存快照,并將壓縮后的內存快照上傳至服務器。
4.根據權利要求1所述的方法,其特征在于,所述利用預設分析工具獲取所述內存快照中大對象的內部引用分布結果,包括:
基于任一大對象的所述內部引用鏈路,獲取所述任一大對象的所述第一引用大對象;
基于所述第一引用大對象的內存大小從大到小進行排序,將排序靠前的預設個數個第一引用大對象的內部引用鏈路、內存大小及數據類型確定為大對象的內部引用分布結果;
重復執行將引用第一引用大對象的引用大對象作為第一引用大對象,基于所述第一引用大對象的內存大小從大到小進行排序,將排序靠前的預設個數個第一引用大對象的內部引用鏈路、內存大小及數據類型確定為大對象的內部引用分布結果的步驟,直至重新執行達到預定次數。
5.根據權利要求1所述的方法,其特征在于,所述利用預設分析工具分析所述內存快照,并將所述分析結果上傳至服務器,還包括:
利用預設分析工具獲取所述內存快照中小對象的引用鏈路分布結果;
其中,所述小對象包括所述內存快照每一類中的對象數量超過第一預設數量的對象。
6.根據權利要求5所述的方法,其特征在于,所述獲取所述內存快照中小對象的引用鏈路分布結果,包括:
基于預設節點劃分每一類中的小對象,得到至少一個第一數組,記錄所述至少一個第一數組的數據類型、小對象數量及內存大小作為小對象的引用鏈路分布結果;
重復執行基于所述預設節點的下級節點劃分所述至少一個第一數組中的小對象,將得到的至少一個數組作為第一數組,記錄所述第一數組的數據類型、小對象數量及內存總大小作為小對象引用鏈路分布結果的步驟,直至所述第一數組中包括的小對象數量小于第二預設數量。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于抖音視界有限公司,未經抖音視界有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010556023.6/1.html,轉載請聲明來源鉆瓜專利網。





