包含在多個應用進程中的其他應用進程對應的第二內存頁集合;第二清理模塊50,用于對獲取到的第二內存頁集合進行清理。
[0096]優選地,如圖5所示,第一清理模塊30可以包括:第三獲取單元300,用于獲取待清理的第三內存頁集合,其中,第三內存頁集合包含第一內存頁集合且第三內存頁集合與第二內存頁集合互為補集;清理單元302,用于根據部分應用進程從第三內存頁集合中選取第一內存頁集合進行清理,其中,在每次清理過程中采用LRU算法從第一內存頁集合中選取一個內存頁作為清理對象。
[0097]優選地,如圖5所示,上述裝置還可以包括:判斷模塊60,用于判斷在從第三內存頁集合中清理出第一內存頁集合后得到的內存空間是否滿足預設條件;第二選取模塊70,用于在判斷模塊輸出為否時,則需要在從多個應用進程中屏蔽掉部分應用進程后,繼續從剩余的應用進程中反復按照運行概率由低到高的次序選取一個或多個應用進程,直至滿足預設條件;第三清理模塊,用于對再次選取出的一個或多個應用進程對應的第四內存頁集合進行清理。
[0098]從以上的描述中,可以看出,上述實施例實現了如下技術效果(需要說明的是這些效果是某些優選實施例可以達到的效果):采用本發明實施例所提供的技術方案,能夠在相關技術中所提供的內存清理方式的基礎上充分考慮應用進程之間的依賴性,進而加強了內存清理的有效性,提升了系統的反應速度。
[0099]顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,并且在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬件和軟件結合。
[0100]以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【主權項】
1.一種內存的清理方法,其特征在于,包括: 獲取第一應用進程在多次運行過程中同時運行的多個應用進程; 從所述多個應用進程中選取部分應用進程,其中,所述部分應用進程是根據所述多個應用進程中每個應用進程在所述多次運行過程中的運行概率確定的; 對與所述部分應用進程對應的第一內存頁集合進行清理。2.根據權利要求1所述的方法,其特征在于,從所述多個應用進程中選取所述部分應用進程包括: 獲取所述第一應用進程的在所述多次運行過程中的第一運行次數; 獲取所述每個應用進程在所述多次運行過程中的第二運行次數; 通過所述第二運行次數與所述第一運行次數的比值計算所述運行概率; 按照所述運行概率由低到高的次序選取所述部分應用進程。3.根據權利要求1所述的方法,其特征在于,在從所述多個應用進程中選取所述部分應用進程之前,還包括: 在所述多次運行過程中獲取未包含在所述多個應用進程中的其他應用進程對應的第二內存頁集合; 對獲取到的第二內存頁集合進行清理。4.根據權利要求2所述的方法,其特征在于,對與所述部分應用進程對應的第一內存頁集合進行清理包括: 獲取待清理的第三內存頁集合,其中,所述第三內存頁集合包含所述第一內存頁集合且所述第三內存頁集合與所述第二內存頁集合互為補集; 根據所述部分應用進程從所述第三內存頁集合中選取所述第一內存頁集合進行清理,其中,在每次清理過程中采用最近最久未使用LRU算法從所述第一內存頁集合中選取一個內存頁作為清理對象。5.根據權利要求4所述的方法,其特征在于,在對與所述部分應用進程對應的第一內存頁集合進行清理之后,還包括: 判斷在從所述第三內存頁集合中清理出所述第一內存頁集合后得到的內存空間是否滿足預設條件; 如果否,則需要在從所述多個應用進程中屏蔽掉所述部分應用進程后,繼續從剩余的應用進程中反復按照所述運行概率由低到高的次序選取一個或多個應用進程,直至滿足所述預設條件; 對再次選取出的一個或多個應用進程對應的第四內存頁集合進行清理。6.一種內存的清理裝置,其特征在于,包括: 第一獲取模塊,用于獲取第一應用進程在多次運行過程中同時運行的多個應用進程;第一選取模塊,用于從所述多個應用進程中選取部分應用進程,其中,所述部分應用進程是根據所述多個應用進程中每個應用進程在所述多次運行過程中的運行概率確定的;第一清理模塊,用于對與所述部分應用進程對應的第一內存頁集合進行清理。7.根據權利要求6所述的裝置,其特征在于,所述第一選取模塊包括: 第一獲取單元,用于獲取所述第一應用進程的在所述多次運行過程中的第一運行次數;第二獲取單元,用于獲取所述每個應用進程在所述多次運行過程中的第二運行次數;計算單元,用于通過所述第二運行次數與所述第一運行次數的比值計算所述運行概率; 選取單元,用于按照所述運行概率由低到高的次序選取所述部分應用進程。8.根據權利要求6所述的裝置,其特征在于,所述裝置還包括: 第二獲取模塊,用于在所述多次運行過程中獲取未包含在所述多個應用進程中的其他應用進程對應的第二內存頁集合; 第二清理模塊,用于對獲取到的第二內存頁集合進行清理。9.根據權利要求7所述的裝置,其特征在于,所述第一清理模塊包括: 第三獲取單元,用于獲取待清理的第三內存頁集合,其中,所述第三內存頁集合包含所述第一內存頁集合且所述第三內存頁集合與所述第二內存頁集合互為補集; 清理單元,用于根據所述部分應用進程從所述第三內存頁集合中選取所述第一內存頁集合進行清理,其中,在每次清理過程中采用最近最久未使用LRU算法從所述第一內存頁集合中選取一個內存頁作為清理對象。10.根據權利要求9所述的裝置,其特征在于,所述裝置還包括: 判斷模塊,用于判斷在從所述第三內存頁集合中清理出所述第一內存頁集合后得到的內存空間是否滿足預設條件; 第二選取模塊,用于在所述判斷模塊輸出為否時,則需要在從所述多個應用進程中屏蔽掉所述部分應用進程后,繼續從剩余的應用進程中反復按照所述運行概率由低到高的次序選取一個或多個應用進程,直至滿足所述預設條件; 第三清理模塊,用于對再次選取出的一個或多個應用進程對應的第四內存頁集合進行清理。
【專利摘要】本發明公開了一種內存的清理方法及裝置,在上述方法中,獲取第一應用進程在多次運行過程中同時運行的多個應用進程;從多個應用進程中選取部分應用進程,其中,部分應用進程是根據多個應用進程中每個應用進程在多次運行過程中的運行概率確定的;對與部分應用進程對應的第一內存頁集合進行清理。根據本發明提供的技術方案,加強了內存清理的有效性,提升了系統的反應速度。
【IPC分類】G06F9/46, G06F12/02
【公開號】CN105279098
【申請號】CN201410351366
【發明人】古幼鵬, 鐘聲, 徐立鋒
【申請人】中興通訊股份有限公司
【公開日】2016年1月27日
【申請日】2014年7月22日
【公告號】WO2015184909A1