[發(fā)明專利]內(nèi)存回收的方法及相關(guān)設(shè)備在審
| 申請?zhí)枺?/td> | 202310272997.5 | 申請日: | 2023-03-16 |
| 公開(公告)號: | CN116431332A | 公開(公告)日: | 2023-07-14 |
| 發(fā)明(設(shè)計)人: | 郝信;龐訓(xùn)磊;徐宇;鄧剛;王榮巍 | 申請(專利權(quán))人: | 阿里云計算有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F12/02 |
| 代理公司: | 北京天同知創(chuàng)知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 16046 | 代理人: | 趙囡囡 |
| 地址: | 310024 浙江省*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 內(nèi)存 回收 方法 相關(guān) 設(shè)備 | ||
本申請公開了一種內(nèi)存回收的方法及相關(guān)設(shè)備,涉及計算機(jī)技術(shù)領(lǐng)域,該方法包括:從操作系統(tǒng)的內(nèi)核具有的一個或多個控制組群中,確定需要執(zhí)行代碼段鎖定操作的目標(biāo)控制組群,控制組群為內(nèi)核提供的用于管理進(jìn)程組所使用的物理資源的機(jī)制,其中,進(jìn)程組為一個或多個進(jìn)程的集合,代碼段鎖定操作為對各進(jìn)程下屬于代碼段的虛擬內(nèi)存進(jìn)行鎖定的操作;判斷目標(biāo)控制組群中,進(jìn)程下的虛擬內(nèi)存是否屬于代碼段,若是,則對虛擬內(nèi)存執(zhí)行代碼段鎖定操作。本申請解決了頻繁的進(jìn)程回收但又重新從磁盤讀入,導(dǎo)致IO耗時明顯、核心服務(wù)出現(xiàn)明顯的響應(yīng)延遲的問題。
技術(shù)領(lǐng)域
本申請涉及到計算機(jī)技術(shù)領(lǐng)域,具體而言,涉及一種內(nèi)存回收的方法及相關(guān)設(shè)備。
背景技術(shù)
本部分旨在為權(quán)利要求書中陳述的本發(fā)明實施例提供背景或上下文。不應(yīng)以此處的描述包括在本部分中就承認(rèn)是現(xiàn)有技術(shù)。
內(nèi)存是計算機(jī)的重要部件之一,也稱內(nèi)存儲器和主存儲器,它用于暫時存放CPU中的運(yùn)算數(shù)據(jù),與硬盤等外部存儲器交換的數(shù)據(jù),在云計算環(huán)境中,隨著內(nèi)存的使用逐漸減少,觸發(fā)內(nèi)存回收,導(dǎo)致核心服務(wù)代碼段內(nèi)存被回收,代碼段被寫入磁盤,釋放內(nèi)存,但是,隨著服務(wù)的持續(xù)運(yùn)行,原本位于內(nèi)存的代碼段重新從磁盤加載進(jìn)來,頻繁的進(jìn)程回收但又重新從磁盤讀入,導(dǎo)致IO(即對磁盤進(jìn)行讀寫等操作方式)耗時明顯、核心服務(wù)出現(xiàn)明顯的響應(yīng)延遲現(xiàn)象,影響客戶使用體驗。甚至?xí)斐蒓OM現(xiàn)象(OOM的全稱為out?of?memory,通常指應(yīng)用程序占用內(nèi)存過多,被系統(tǒng)殺掉),對客戶服務(wù)使用造成很糟糕的體驗,嚴(yán)重影響云場景下的系統(tǒng)服務(wù)質(zhì)量。
發(fā)明內(nèi)容
本申請實施例提供了一種內(nèi)存回收的方法及相關(guān)設(shè)備,以至少解決現(xiàn)有技術(shù)中,頻繁的進(jìn)程回收但又重新從磁盤讀入,導(dǎo)致IO耗時明顯、核心服務(wù)出現(xiàn)明顯的響應(yīng)延遲的問題。
根據(jù)本申請的一個方面,還提供了一種內(nèi)存回收的方法,包括:
從操作系統(tǒng)的內(nèi)核具有的一個或多個控制組群中,確定需要執(zhí)行代碼段鎖定操作的目標(biāo)控制組群,所述控制組群為所述內(nèi)核提供的用于管理進(jìn)程組所使用的物理資源的機(jī)制,其中,所述進(jìn)程組為一個或多個進(jìn)程的集合,所述代碼段鎖定操作為對各所述進(jìn)程下屬于代碼段的虛擬內(nèi)存進(jìn)行鎖定的操作;
判斷所述目標(biāo)控制組群中,所述進(jìn)程下的所述虛擬內(nèi)存是否屬于所述代碼段,若是,則對所述虛擬內(nèi)存執(zhí)行所述代碼段鎖定操作。
在其中的一些實施例中,所述方法還包括:
獲取所述目標(biāo)控制組群下,所述進(jìn)程的身份標(biāo)識;
基于所述身份標(biāo)識,將所述進(jìn)程記錄于預(yù)先創(chuàng)建的鏈表中;
則,判斷所述目標(biāo)控制組群中,所述進(jìn)程下的所述虛擬內(nèi)存是否屬于所述代碼段的步驟包括:
遍歷所述鏈表中記錄的各所述進(jìn)程下的所述虛擬內(nèi)存,并判斷所述虛擬內(nèi)存的內(nèi)存屬性是否屬于所述代碼段,若是,則對所述虛擬內(nèi)存執(zhí)行所述代碼段鎖定操作。
在其中的一些實施例中,判斷所述目標(biāo)控制組群中,所述進(jìn)程下的所述虛擬內(nèi)存是否屬于所述代碼段的步驟還包括:
確定所述虛擬內(nèi)存的結(jié)構(gòu)體,所述結(jié)構(gòu)體設(shè)置有標(biāo)志位,所述標(biāo)志位標(biāo)識有所述虛擬內(nèi)存的操作權(quán)限;
根據(jù)所述標(biāo)志位標(biāo)識的所述操作權(quán)限,判斷所述標(biāo)識位對應(yīng)的所述虛擬內(nèi)存的內(nèi)存屬性是否屬于所述代碼段。
在其中的一些實施例中,從操作系統(tǒng)的內(nèi)核具有的一個或多個控制組群中,確定需要執(zhí)行代碼段鎖定操作的目標(biāo)控制組群之后,所述方法還包括:
獲取預(yù)先設(shè)定的代碼段鎖定閾值;
計算已被鎖定的屬于所述代碼段的所述虛擬內(nèi)存的內(nèi)存量;
判斷所述內(nèi)存量是否超過所述代碼段鎖定閾值,若否,則判斷所述目標(biāo)控制組群中,所述進(jìn)程下的所述虛擬內(nèi)存是否屬于所述代碼段。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里云計算有限公司,未經(jīng)阿里云計算有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310272997.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





