本申請屬于電子,具體涉及一種內(nèi)存壓縮方法、裝置、電子設備、存儲介質及程序產(chǎn)品。
背景技術:
1、隨著科技的發(fā)展,電子設備中的應用和服務的復雜性不斷增加,電子設備的內(nèi)存資源的管理和優(yōu)化變得越來越重要。
2、目前,通過zram對匿名頁進行壓縮的操作是在內(nèi)核態(tài)(kernel?mode)執(zhí)行的,而gpu等計算單元的自定義功能需要在用戶態(tài)(user?mode)實現(xiàn)。也就是說,盡管gpu等計算單元具備壓縮能力,但缺乏有效的壓縮機制,因此gpu等計算單元難以為cpu減輕負載,從而電子設備使用現(xiàn)有的壓縮方式對內(nèi)存頁進行壓縮的效率較低,cpu的負載較高。
技術實現(xiàn)思路
1、本申請實施例的目的是提供一種內(nèi)存壓縮方法、裝置、電子設備、存儲介質及程序產(chǎn)品,能夠提升電子設備對內(nèi)存頁進行壓縮的效率,減輕cpu的負載。
2、第一方面,本申請實施例提供了一種內(nèi)存壓縮方法,該方法包括:在檢測到內(nèi)核態(tài)中存在需要壓縮的內(nèi)存頁的情況下,將內(nèi)存頁寫入先進先出(first?in?first?out,fifo)中;建立內(nèi)核態(tài)與用戶態(tài)間的數(shù)據(jù)通道;在用戶態(tài)中通過數(shù)據(jù)通道,讀取fifo中的內(nèi)存頁,并對內(nèi)存頁執(zhí)行壓縮操作。
3、第二方面,本申請實施例提供了一種內(nèi)存壓縮裝置,該內(nèi)存壓縮裝置包括:寫入模塊和執(zhí)行模塊。上述寫入模塊,用于在檢測到內(nèi)核態(tài)中存在需要壓縮的內(nèi)存頁的情況下,將內(nèi)存頁寫入fifo中。上述執(zhí)行模塊,用于建立內(nèi)核態(tài)與用戶態(tài)間的數(shù)據(jù)通道。上述執(zhí)行模塊,還用于在用戶態(tài)中通過數(shù)據(jù)通道,讀取寫入模塊寫入的fifo中的內(nèi)存頁,并對內(nèi)存頁執(zhí)行壓縮操作。
4、第三方面,本申請實施例提供了一種電子設備,該電子設備包括處理器和存儲器,所述存儲器存儲可在所述處理器上運行的程序或指令,所述程序或指令被所述處理器執(zhí)行時實現(xiàn)如第一方面所述的方法的步驟。
5、第四方面,本申請實施例提供了一種可讀存儲介質,所述可讀存儲介質上存儲程序或指令,所述程序或指令被處理器執(zhí)行時實現(xiàn)如第一方面所述的方法的步驟。
6、第五方面,本申請實施例提供了一種芯片,所述芯片包括處理器和通信接口,所述通信接口和所述處理器耦合,所述處理器用于運行程序或指令,實現(xiàn)如第一方面所述的方法。
7、第六方面,本申請實施例提供一種計算機程序產(chǎn)品,該程序產(chǎn)品被存儲在存儲介質中,該程序產(chǎn)品被至少一個處理器執(zhí)行以實現(xiàn)如第一方面所述的方法。
8、在本申請實施例中,在檢測到內(nèi)核態(tài)中存在需要壓縮的內(nèi)存頁的情況下,將內(nèi)存頁寫入fifo中,然后建立內(nèi)核態(tài)與用戶態(tài)間的數(shù)據(jù)通道,在用戶態(tài)中通過數(shù)據(jù)通道讀取fifo中的內(nèi)存頁,并對內(nèi)存頁執(zhí)行壓縮操作。本方案中,由于在判斷內(nèi)存頁需要進行壓縮時,可以先將內(nèi)存頁寫入fifo中,然后可以通過建立內(nèi)核態(tài)與用戶態(tài)間的數(shù)據(jù)通道,使得能夠在用戶態(tài)中通過該數(shù)據(jù)通道讀取到內(nèi)核態(tài)寫入到fifo中的內(nèi)存頁,即可以直接在用戶態(tài)中讀取內(nèi)核態(tài)中的內(nèi)存頁,因此可以通過gpu等非cpu計算單元在用戶態(tài)中對內(nèi)核態(tài)中的內(nèi)存頁執(zhí)行壓縮操作,從而提升了電子設備對內(nèi)存頁進行壓縮的效率,減輕了cpu的負載。
1.一種內(nèi)存壓縮方法,其特征在于,包括:
2.根據(jù)權利要求1所述的方法,其特征在于,所述將所述內(nèi)存頁寫入fifo中,包括:
3.根據(jù)權利要求1所述的方法,其特征在于,所述將所述內(nèi)存頁寫入fifo中之后,所述方法還包括:
4.根據(jù)權利要求3所述的方法,其特征在于,所述建立所述內(nèi)核態(tài)與用戶態(tài)間的數(shù)據(jù)通道,包括:
5.根據(jù)權利要求4所述的方法,其特征在于,所述在所述定時器未超時、且所述fifo為滿狀態(tài)的情況下,建立所述內(nèi)核態(tài)與用戶態(tài)間的數(shù)據(jù)通道,包括:
6.根據(jù)權利要求5所述的方法,其特征在于,所述在所述用戶態(tài)中通過所述數(shù)據(jù)通道,讀取所述fifo中的內(nèi)存頁,并對所述內(nèi)存頁執(zhí)行壓縮操作,包括:
7.一種內(nèi)存壓縮裝置,其特征在于,包括:寫入模塊和執(zhí)行模塊;
8.根據(jù)權利要求7所述的裝置,其特征在于,所述寫入模塊,具體用于:
9.根據(jù)權利要求7所述的裝置,其特征在于,所述執(zhí)行模塊,還用于:
10.根據(jù)權利要求9所述的裝置,其特征在于,所述執(zhí)行模塊,具體用于:
11.根據(jù)權利要求7所述的裝置,其特征在于,所述執(zhí)行模塊,具體用于:
12.根據(jù)權利要求11所述的裝置,其特征在于,所述執(zhí)行模塊,具體用于:
13.一種電子設備,其特征在于,包括處理器和存儲器,所述存儲器存儲可在所述處理器上運行的程序或指令,所述程序或指令被所述處理器執(zhí)行時實現(xiàn)如權利要求1至6中任一項所述的內(nèi)存壓縮方法的步驟。
14.一種可讀存儲介質,其特征在于,所述可讀存儲介質上存儲程序或指令,所述程序或指令被處理器執(zhí)行時實現(xiàn)如權利要求1至6中任一項所述的內(nèi)存壓縮方法的步驟。
15.一種計算機程序產(chǎn)品,其特征在于,所述程序產(chǎn)品被存儲在存儲介質中,所述程序產(chǎn)品被至少一個處理器執(zhí)行以實現(xiàn)如權利要求1至6中任一項所述的內(nèi)存壓縮方法。