欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

內(nèi)存優(yōu)化方法及裝置制造方法

文檔序號(hào):6632576閱讀:350來(lái)源:國(guó)知局
內(nèi)存優(yōu)化方法及裝置制造方法
【專(zhuān)利摘要】本公開(kāi)關(guān)于一種內(nèi)存優(yōu)化方法及裝置,屬于計(jì)算機(jī)【技術(shù)領(lǐng)域】。所述方法包括:在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值;若檢測(cè)出當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值達(dá)到所述資源臨界值,則將所述新創(chuàng)建進(jìn)程添加到不受所述資源閾值限制的所述控制組中;對(duì)所述控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值。本公開(kāi)解決了當(dāng)終端在執(zhí)行換出操作的同時(shí)向控制組添加新創(chuàng)建的進(jìn)程時(shí),執(zhí)行的換出操作的時(shí)延較長(zhǎng),影響終端的運(yùn)行速度的問(wèn)題,達(dá)到在進(jìn)行內(nèi)存壓縮時(shí)減小操作時(shí)延的效果。
【專(zhuān)利說(shuō)明】?jī)?nèi)存優(yōu)化方法及裝置

【技術(shù)領(lǐng)域】
[0001]本公開(kāi)涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別涉及一種內(nèi)存優(yōu)化方法及裝置。

【背景技術(shù)】
[0002]隨著終端中運(yùn)行的應(yīng)用程序的增多,終端的可用內(nèi)存越來(lái)越少,影響了運(yùn)行的應(yīng)用程序的流暢性,因此,需要對(duì)終端進(jìn)行內(nèi)存優(yōu)化。
[0003]在進(jìn)行內(nèi)存優(yōu)化時(shí),終端可以將創(chuàng)建的多個(gè)進(jìn)程劃分到一個(gè)控制組(ControlGroup,Cgroup)中,并通過(guò)設(shè)置資源閾值對(duì)該控制組中進(jìn)程所能占用的總資源值進(jìn)行限制;當(dāng)終端需要將新創(chuàng)建進(jìn)程加入該控制組且檢測(cè)出加入后該控制組的總資源值超過(guò)資源閾值時(shí),執(zhí)行換出(swap)操作,即,終端將控制組中一段時(shí)間內(nèi)未使用的空閑進(jìn)程所對(duì)應(yīng)的數(shù)據(jù)轉(zhuǎn)移到存儲(chǔ)設(shè)備中,將該數(shù)據(jù)所占用的資源分配給該新創(chuàng)建進(jìn)程,在再次需要使用該空閑進(jìn)程時(shí),再?gòu)拇鎯?chǔ)設(shè)備中將該數(shù)據(jù)轉(zhuǎn)移到控制組所占用的資源中。
[0004]公開(kāi)人在實(shí)現(xiàn)本公開(kāi)的過(guò)程中,發(fā)現(xiàn)相關(guān)技術(shù)中至少存在以下缺陷:當(dāng)終端在執(zhí)行換出操作的同時(shí)向控制組添加新創(chuàng)建的進(jìn)程時(shí),執(zhí)行的換出操作的時(shí)延較長(zhǎng),影響終端的運(yùn)行速度。


【發(fā)明內(nèi)容】

[0005]為解決當(dāng)終端在執(zhí)行換出操作的同時(shí)向控制組添加新創(chuàng)建的進(jìn)程時(shí),執(zhí)行的換出操作的時(shí)延較長(zhǎng),影響終端的運(yùn)行速度的問(wèn)題,本公開(kāi)提供了一種內(nèi)存優(yōu)化方法及裝置。
[0006]根據(jù)本公開(kāi)實(shí)施例的第一方面,提供一種內(nèi)存優(yōu)化方法,包括:
[0007]在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值,所述資源臨界值是當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值小于與所述控制組對(duì)應(yīng)的資源閾值,且將所述新創(chuàng)建進(jìn)程添加到所述控制組后,所述控制組中所有進(jìn)程所占用的總資源值大于所述資源閾值時(shí)的資源值;
[0008]若檢測(cè)出當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值達(dá)到所述資源臨界值,則將所述新創(chuàng)建進(jìn)程添加到不受所述資源閾值限制的所述控制組中;
[0009]對(duì)所述控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值。
[0010]可選的,若所述控制組是受所述資源閾值限制的系統(tǒng)控制組,則所述將所述新創(chuàng)建進(jìn)程添加到不受所述資源閾值限制的所述控制組中,包括:
[0011]對(duì)所述系統(tǒng)控制組的所述資源閾值進(jìn)行保存;
[0012]取消所述資源閾值對(duì)所述系統(tǒng)控制組中所有進(jìn)程所占用的總資源值的限制;
[0013]將所述新創(chuàng)建進(jìn)程添加到所述系統(tǒng)控制組中。
[0014]可選的,若所述控制組是不受資源閾值限制的非系統(tǒng)控制組,則所述方法還包括:
[0015]讀取系統(tǒng)控制組的資源閾值,將所述資源閾值確定為與所述非系統(tǒng)控制組對(duì)應(yīng)的資源閾值。
[0016]可選的,所述對(duì)所述控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值,包括:
[0017]對(duì)所述控制組設(shè)置初始資源閾值,所述初始資源閾值大于所述資源閾值;
[0018]檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值;
[0019]若檢測(cè)出所述控制組中所有進(jìn)程所占用的總資源值小于所述初始資源閾值,則減小所述初始資源閾值,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的步驟,直至所述初始資源閾值等于所述資源閾值且所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值時(shí)停止;
[0020]若檢測(cè)出所述控制組中所有進(jìn)程所占用的總資源值大于所述初始資源閾值,則對(duì)所述控制組中所述空閑進(jìn)程所占用的資源執(zhí)行換出操作,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的步驟。
[0021]可選的,所述減小所述初始資源閾值,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的步驟,直至所述初始資源閾值等于所述資源閾值且所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值時(shí)停止,包括:
[0022]減小所述初始資源閾值;
[0023]檢測(cè)減小后的所述初始資源閾值與所述資源閾值的差值是否小于預(yù)定數(shù)值;
[0024]若檢測(cè)出所述差值小于所述預(yù)定數(shù)值,則將減小后的所述初始資源閾值設(shè)置為所述資源閾值,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的步驟,直至所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值時(shí)停止。
[0025]可選的,所述方法還包括:
[0026]若減小所述初始資源閾值時(shí)出錯(cuò),則停止修改所述初始資源閾值;
[0027]在間隔預(yù)定時(shí)間段之后,將所述初始資源閾值設(shè)置為減小之前的初始資源閾值,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的步驟。
[0028]根據(jù)本公開(kāi)實(shí)施例的第二方面,提供一種內(nèi)存優(yōu)化裝置,包括:
[0029]資源檢測(cè)模塊,被配置為在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值,所述資源臨界值是當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值小于與所述控制組對(duì)應(yīng)的資源閾值,且將所述新創(chuàng)建進(jìn)程添加到所述控制組后,所述控制組中所有進(jìn)程所占用的總資源值大于所述資源閾值時(shí)的資源值;
[0030]進(jìn)程添加模塊,被配置為當(dāng)所述資源檢測(cè)模塊檢測(cè)出當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值達(dá)到所述資源臨界值時(shí),將所述新創(chuàng)建進(jìn)程添加到不受所述資源閾值限制的所述控制組中;
[0031]資源換出模塊,被配置為對(duì)所述進(jìn)程添加模塊添加的所述控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值。
[0032]可選的,當(dāng)所述控制組是受所述資源閾值限制的系統(tǒng)控制組時(shí),所述進(jìn)程添加模塊,包括:
[0033]閾值保存子模塊,被配置為對(duì)所述系統(tǒng)控制組的所述資源閾值進(jìn)行保存;
[0034]限制取消子模塊,被配置為取消所述資源閾值對(duì)所述系統(tǒng)控制組中所有進(jìn)程所占用的總資源值的限制;
[0035]進(jìn)程添加子模塊,被配置為將所述新創(chuàng)建進(jìn)程添加到所述系統(tǒng)控制組中。
[0036]可選的,若所述控制組是不受資源閾值限制的非系統(tǒng)控制組,則所述裝置還包括:
[0037]閾值讀取模塊,被配置為讀取系統(tǒng)控制組的資源閾值,將所述資源閾值確定為與所述非系統(tǒng)控制組對(duì)應(yīng)的資源閾值。
[0038]可選的,所述資源換出模塊,包括:
[0039]第一設(shè)置子模塊,被配置為對(duì)所述控制組設(shè)置初始資源閾值,所述初始資源閾值大于所述資源閾值;
[0040]資源檢測(cè)子模塊,被配置為檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述第一設(shè)置子模塊設(shè)置的所述初始資源閾值;
[0041]第一處理子模塊,被配置為當(dāng)所述資源檢測(cè)子模塊檢測(cè)出所述控制組中所有進(jìn)程所占用的總資源值小于所述初始資源閾值時(shí),減小所述初始資源閾值,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的操作,直至所述初始資源閾值等于所述資源閾值且所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值時(shí)停止;
[0042]第二處理子模塊,被配置為當(dāng)所述資源檢測(cè)子模塊檢測(cè)出所述控制組中所有進(jìn)程所占用的總資源值大于所述初始資源閾值時(shí),對(duì)所述控制組中所述空閑進(jìn)程所占用的資源執(zhí)行換出操作,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的操作。
[0043]可選的,所述第一處理子模塊,包括:
[0044]閾值減小子模塊,被配置為減小所述初始資源閾值;
[0045]差值檢測(cè)子模塊,被配置為檢測(cè)所述閾值減小子模塊減小后的所述初始資源閾值與所述資源閾值的差值是否小于預(yù)定數(shù)值;
[0046]第二設(shè)置子模塊,被配置為當(dāng)所述差值檢測(cè)子模塊檢測(cè)出所述差值小于所述預(yù)定數(shù)值時(shí),將減小后的所述初始資源閾值設(shè)置為所述資源閾值,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的操作,直至所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值時(shí)停止。
[0047]可選的,所述第一處理子模塊,還包括:
[0048]修改暫停子模塊,被配置為當(dāng)減小所述初始資源閾值時(shí)出錯(cuò)時(shí),停止修改所述初始資源閾值;
[0049]檢測(cè)循環(huán)子模塊,被配置為在間隔預(yù)定時(shí)間段之后,將所述初始資源閾值設(shè)置為減小之前的初始資源閾值,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的操作。
[0050]根據(jù)本公開(kāi)實(shí)施例的第三方面,提供一種內(nèi)存優(yōu)化裝置,包括:
[0051]處理器;
[0052]用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;
[0053]其中,所述處理器被配置為:
[0054]在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值,所述資源臨界值是當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值小于與所述控制組對(duì)應(yīng)的資源閾值,且將所述新創(chuàng)建進(jìn)程添加到所述控制組后,所述控制組中所有進(jìn)程所占用的總資源值大于所述資源閾值時(shí)的資源值;
[0055]若檢測(cè)出當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值達(dá)到所述資源臨界值,則將所述新創(chuàng)建進(jìn)程添加到不受所述資源閾值限制的所述控制組中;
[0056]對(duì)所述控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值。
[0057]本公開(kāi)的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
[0058]通過(guò)在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值;若檢測(cè)出當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值達(dá)到資源臨界值,則將新創(chuàng)建進(jìn)程添加到不受資源閾值限制的控制組中;對(duì)控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得控制組中所有進(jìn)程所占用的總資源值小于資源閾值,可以將新創(chuàng)建的進(jìn)程添加到不受資源閾值限制的控制組,再對(duì)該控制組中所有進(jìn)程所占用的總資源值進(jìn)行壓縮,解決了當(dāng)終端在執(zhí)行換出操作的同時(shí)向控制組添加新創(chuàng)建的進(jìn)程時(shí),執(zhí)行的換出操作的時(shí)延較長(zhǎng),影響終端的運(yùn)行速度的問(wèn)題,達(dá)到了在進(jìn)行內(nèi)存壓縮時(shí)減小操作時(shí)延的效果。
[0059]應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本公開(kāi)。

【專(zhuān)利附圖】

【附圖說(shuō)明】
[0060]此處的附圖被并入說(shuō)明書(shū)中并構(gòu)成本公開(kāi)說(shuō)明書(shū)的一部分,示出了符合本公開(kāi)的實(shí)施例,并與說(shuō)明書(shū)一起用于解釋本公開(kāi)的原理。
[0061]圖1是根據(jù)一示例性實(shí)施例示出的一種內(nèi)存優(yōu)化方法的流程圖。
[0062]圖2是根據(jù)另一示例性實(shí)施例示出的一種內(nèi)存優(yōu)化方法的流程圖。
[0063]圖3是根據(jù)一示例性實(shí)施例示出的一種內(nèi)存優(yōu)化裝置的框圖。
[0064]圖4是根據(jù)一示例性實(shí)施例示出的一種內(nèi)存優(yōu)化裝置的框圖。
[0065]圖5是根據(jù)一示例性實(shí)施例示出的一種用于內(nèi)存優(yōu)化的裝置的框圖。

【具體實(shí)施方式】
[0066]這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本公開(kāi)相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書(shū)中所詳述的、本公開(kāi)的一些方面相一致的裝置和方法的例子。
[0067]圖1是根據(jù)一示例性實(shí)施例示出的一種內(nèi)存優(yōu)化方法的流程圖,該內(nèi)存優(yōu)化方法應(yīng)用于終端中,如圖1所示,該內(nèi)存優(yōu)化方法包括以下步驟。
[0068]在步驟101中,在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值,該資源臨界值是當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值小于與控制組對(duì)應(yīng)的資源閾值,且將新創(chuàng)建進(jìn)程添加到控制組后,控制組中所有進(jìn)程所占用的總資源值大于資源閾值時(shí)的資源值。
[0069]資源閾值是控制組中所有進(jìn)程所能占用的總資源的最大值,當(dāng)控制組中所有進(jìn)程所占用的總資源值大于該控制組的資源閾值時(shí),控制組會(huì)執(zhí)行資源換出操作來(lái)壓縮內(nèi)存。
[0070]在步驟102中,若檢測(cè)出當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值達(dá)到資源臨界值,則將新創(chuàng)建進(jìn)程添加到不受資源閾值限制的控制組中。
[0071]當(dāng)控制組受資源閾值限制且所有進(jìn)程所占用的總資源值達(dá)到資源臨界值時(shí),再向該控制組中添加新創(chuàng)建進(jìn)程的同時(shí)需要對(duì)控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,以保證添加了新創(chuàng)建進(jìn)程后,該控制組中所有進(jìn)程占用的總資源值小于資源閾值。而在執(zhí)行換出操作的同時(shí)向控制組添加新創(chuàng)建的進(jìn)程會(huì)導(dǎo)致?lián)Q出操作和添加操作的時(shí)延較大,影響了終端的運(yùn)行速度,因此,終端可以將新創(chuàng)建進(jìn)程添加到不受資源閾值限制的控制組中。
[0072]在步驟103中,對(duì)控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得控制組中所有進(jìn)程所占用的總資源值小于資源閾值。
[0073]在添加了新創(chuàng)建進(jìn)程后,由于此時(shí)控制組中所有進(jìn)程所占用的總資源值大于資源閾值,因此,終端還需要對(duì)控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作來(lái)壓縮內(nèi)存。換出操作是將控制組中空閑進(jìn)程所占用的資源經(jīng)過(guò)壓縮后,轉(zhuǎn)移到虛擬存儲(chǔ)設(shè)備上的操作。
[0074]綜上所述,本公開(kāi)提供的內(nèi)存優(yōu)化方法,通過(guò)在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值;若檢測(cè)出當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值達(dá)到資源臨界值,則將新創(chuàng)建進(jìn)程添加到不受資源閾值限制的控制組中;對(duì)控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得控制組中所有進(jìn)程所占用的總資源值小于資源閾值,可以將新創(chuàng)建的進(jìn)程添加到不受資源閾值限制的控制組,再對(duì)該控制組中所有進(jìn)程所占用的總資源值進(jìn)行壓縮,解決了當(dāng)終端在執(zhí)行換出操作的同時(shí)向控制組添加新創(chuàng)建的進(jìn)程時(shí),執(zhí)行的換出操作的時(shí)延較長(zhǎng),影響終端的運(yùn)行速度的問(wèn)題,達(dá)到了在進(jìn)行內(nèi)存壓縮時(shí)減小操作時(shí)延的效果。
[0075]圖2是根據(jù)另一示例性實(shí)施例示出的一種內(nèi)存優(yōu)化方法的流程圖,該內(nèi)存優(yōu)化方法應(yīng)用于終端中,如圖2所示,該內(nèi)存優(yōu)化方法包括如下步驟。
[0076]在步驟201中,在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值,該資源臨界值是當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值小于與控制組對(duì)應(yīng)的資源閾值,且將新創(chuàng)建進(jìn)程添加到控制組后,控制組中所有進(jìn)程所占用的總資源值大于資源閾值時(shí)的資源值。
[0077]資源閾值是控制組中所有進(jìn)程所能占用的總資源的最大值,當(dāng)控制組中所有進(jìn)程所占用的總資源值大于該控制組的資源閾值時(shí),控制組會(huì)執(zhí)行資源換出操作來(lái)壓縮內(nèi)存。
[0078]資源臨界值是當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值小于與控制組對(duì)應(yīng)的資源閾值,且將新創(chuàng)建進(jìn)程添加到控制組后,控制組中所有進(jìn)程所占用的總資源值大于資源閾值時(shí)的資源值。比如,控制組對(duì)應(yīng)的資源閾值是500MB,添加新創(chuàng)建進(jìn)程控制組中所有進(jìn)程所占用的總資源值是480MB,此時(shí)總資源值480M小于資源閾值500M,添加新創(chuàng)建進(jìn)程之后控制組中所有進(jìn)程所占用的總資源值為520MB,此時(shí)總資源值520M大于資源閾值500MB,將480MB確定為該控制組的資源臨界值。
[0079]本實(shí)施例中,控制組可以是系統(tǒng)控制組。其中,系統(tǒng)控制組為系統(tǒng)固有的受資源閾值限制的控制組,終端可以直接讀取系統(tǒng)控制組的資源閾值,將該資源閾值確定為與該控制組對(duì)應(yīng)的資源閾值。
[0080]本實(shí)施例中,控制組還可以是非系統(tǒng)控制組。非系統(tǒng)控制組是終端創(chuàng)建的控制組,該控制組不受資源閾值限制。終端可以讀取系統(tǒng)控制組的資源閾值,并將該資源閾值確定為與該控制組對(duì)應(yīng)的資源閾值。即,若控制組是不受資源閾值限制的非系統(tǒng)控制組,則本實(shí)施例提供的內(nèi)存優(yōu)化方法,還包括:讀取系統(tǒng)控制組的資源閾值,將資源閾值確定為與非系統(tǒng)控制組對(duì)應(yīng)的資源閾值。
[0081]在步驟202中,若檢測(cè)出當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值達(dá)到資源臨界值,則將新創(chuàng)建進(jìn)程添加到不受資源閾值限制的控制組中。
[0082]當(dāng)控制組受資源閾值限制且所有進(jìn)程所占用的總資源值達(dá)到資源臨界值時(shí),再向該控制組中添加新創(chuàng)建進(jìn)程的同時(shí)需要對(duì)控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,以保證添加了新創(chuàng)建進(jìn)程后,該控制組中所有進(jìn)程占用的總資源值小于資源閾值。而在執(zhí)行換出操作的同時(shí)向控制組添加新創(chuàng)建的進(jìn)程會(huì)導(dǎo)致?lián)Q出操作和添加操作的時(shí)延較大,影響了終端的運(yùn)行速度,因此,終端可以將新創(chuàng)建進(jìn)程添加到不受資源閾值限制的控制組中。
[0083]其中,不受資源閾值限制的控制組可以是受資源閾值限制的系統(tǒng)控制組取消資源閾值限制后得到的控制組,也可以是終端創(chuàng)建的不受資源閾值限制的非系統(tǒng)控制組。
[0084]其中,若控制組是受資源閾值限制的系統(tǒng)控制組,則將新創(chuàng)建進(jìn)程添加到不受資源閾值限制的控制組中,包括:
[0085]I)對(duì)系統(tǒng)控制組的資源閾值進(jìn)行保存;
[0086]2)取消資源閾值對(duì)系統(tǒng)控制組中所有進(jìn)程所占用的總資源值的限制;
[0087]3)將新創(chuàng)建進(jìn)程添加到系統(tǒng)控制組中。
[0088]終端對(duì)系統(tǒng)控制組的資源閾值進(jìn)行保存,取消資源閾值對(duì)系統(tǒng)控制組中所有進(jìn)程所占用的總資源的限制,使得該系統(tǒng)控制組成為不受資源閾值限制的控制組,終端再將新創(chuàng)建進(jìn)行添加到該不受資源限制的系統(tǒng)控制組。
[0089]在步驟203中,對(duì)控制組設(shè)置初始資源閾值,該初始資源閾值大于資源閾值。
[0090]在將新創(chuàng)建進(jìn)程添加到控制組后,由于此時(shí)控制組中所有進(jìn)程所占用的總資源值大于資源閾值,因此,終端還需要對(duì)控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作來(lái)壓縮內(nèi)存。換出操作是將控制組中空閑進(jìn)程所占用的資源經(jīng)過(guò)壓縮后,轉(zhuǎn)移到虛擬存儲(chǔ)設(shè)備上的操作,該虛擬存儲(chǔ)設(shè)備可以為RAM (Random Access Memory,隨機(jī)存儲(chǔ)器)。
[0091]為了壓縮控制組中所有進(jìn)程所占用的總資源,并避免資源閾值較小導(dǎo)致的頻繁執(zhí)行換出操作,影響終端的運(yùn)行速度的問(wèn)題,終端可以對(duì)控制組設(shè)置一個(gè)較大的初始資源閾值,并不斷減小該初始資源閾值,通過(guò)減小的初始資源閾值來(lái)逐步壓縮內(nèi)存。
[0092]在步驟204中,檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值。
[0093]在確定初始資源閾值后,終端檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值,若總資源閾值小于初始資源閾值,則初始資源閾值設(shè)置得過(guò)大,需要減小初始資源閾值,即執(zhí)行步驟205 ;若總資源閾值大于初始資源值,則需要執(zhí)行換出操作,即執(zhí)行步驟206。
[0094]在步驟205中,若檢測(cè)出控制組中所有進(jìn)程所占用的總資源值小于初始資源閾值,則減小初始資源閾值,繼續(xù)執(zhí)行步驟204,直至初始資源閾值等于資源閾值且控制組中所有進(jìn)程所占用的總資源值小于資源閾值時(shí)停止。
[0095]其中,減小初始資源閾值,繼續(xù)執(zhí)行檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值的步驟,直至初始資源閾值等于資源閾值且控制組中所有進(jìn)程所占用的總資源值小于資源閾值時(shí)停止,包括:
[0096]I)減小初始資源閾值;
[0097]2)檢測(cè)減小后的初始資源閾值與資源閾值的差值是否小于預(yù)定數(shù)值;
[0098]3)若檢測(cè)出差值小于預(yù)定數(shù)值,則將減小后的初始資源閾值設(shè)置為資源閾值,繼續(xù)執(zhí)行檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值的步驟,直至控制組中所有進(jìn)程所占用的總資源值小于資源閾值時(shí)停止。
[0099]終端減小初始資源閾值,并將得到的數(shù)值確定為減小后的初始資源閾值。其中,減小后的初始資源閾值可以由減小前的初始資源閾值減小固定的數(shù)值得到的,也可以由減小前的初始資源閾值與資源閾值的關(guān)系計(jì)算得到。
[0100]在根據(jù)減小前的初始資源閾值與資源閾值的關(guān)系計(jì)算減小后的初始資源閾值時(shí),終端獲取減小后的初始資源閾值與資源閾值的差值,并檢測(cè)該差值是否小于預(yù)定數(shù)值。若檢測(cè)出該差值大于預(yù)定數(shù)值,則終端將減小后的初始資源閾值設(shè)置為新的初始資源閾值,并繼續(xù)執(zhí)行檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值的步驟;若檢測(cè)出該差值小于預(yù)定數(shù)值,則終端將減小后的初始資源閾值設(shè)置為資源閾值,然后繼續(xù)執(zhí)行檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值的步驟,直至控制組中所有進(jìn)程所占用的總資源值小于資源閾值時(shí)停止。
[0101]例如,控制組的資源閾值為500MB,初始資源閾值為900MB,預(yù)定數(shù)值為150MB。終端第一次檢測(cè)到控制組中所有進(jìn)程所占用的總資源值為600MB,由于總資源值600MB小于初始資源閾值900MB,因此,終端執(zhí)行減小初始資源閾值的操作,根據(jù)減小后初始資源閾值=減小前初始資源閾值_(減小前初始資源閾值-資源閾值)/2的公式確定減小后初始資源閾值為700MB,并計(jì)算出減小后初始資源閾值700MB與資源閾值500MB的差值為200MB,由于200MB大于預(yù)定數(shù)值150M,終端將700MB設(shè)置為初始資源閾值,并繼續(xù)執(zhí)行檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值的步驟。
[0102]若終端第二次檢測(cè)到控制組中所有進(jìn)程所占用的總資源值為500MB,由于總資源值500MB小于初始資源閾值700MB,則終端繼續(xù)根據(jù)上述公式確定減小后初始資源閾值為600MB,并獲取減小后初始資源閾值600MB與資源閾值500MB的差值為100MB,由于100MB小于預(yù)定數(shù)值150M,則終端將減小后的初始資源閾值設(shè)置為資源閾值500MB,然后繼續(xù)執(zhí)行檢測(cè)檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值的步驟,直至控制組中所有進(jìn)程所占用的總資源值小于資源閾值時(shí)停止。
[0103]需要說(shuō)明的是,若終端在預(yù)設(shè)檢測(cè)時(shí)間段內(nèi)檢測(cè)到控制組中所有進(jìn)程所占用的總資源值始終大于初始資源閾值,則在該預(yù)設(shè)檢測(cè)時(shí)間段內(nèi),終端重復(fù)對(duì)控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作。由于需要重復(fù)執(zhí)行換出操作時(shí),可能是控制組中的空閑進(jìn)程所占用的資源較少,因此,可以暫停執(zhí)行換出操作,在控制組中空閑進(jìn)程所占用的資源較多時(shí)再次執(zhí)行換出操作,避免了控制組中空閑進(jìn)程較少時(shí),重復(fù)對(duì)終端執(zhí)行換出操作影響終端運(yùn)行速度的問(wèn)題,可以通過(guò)降低換出操作的執(zhí)行頻率來(lái)逐步壓縮內(nèi)存,提高對(duì)內(nèi)存的壓縮效率。
[0104]因此,終端可以在檢測(cè)出預(yù)設(shè)檢測(cè)時(shí)間段內(nèi)控制組中所有進(jìn)程所占用的總資源值始終大于初始資源閾值時(shí),確定減小初始資源閾值的操作出錯(cuò),此時(shí),本實(shí)施例提供的內(nèi)存優(yōu)化方法,還包括:
[0105]I)若減小初始資源閾值時(shí)出錯(cuò),則停止修改初始資源閾值;
[0106]2)在間隔預(yù)定時(shí)間段之后,將初始資源閾值設(shè)置為減小之前的初始資源閾值,繼續(xù)執(zhí)行檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值的步驟。
[0107]終端檢測(cè)出減小初始資源閾值出錯(cuò)時(shí),在預(yù)定時(shí)間段內(nèi)停止運(yùn)行修改初始資源閾值的線(xiàn)程,在將減小之前的初始資源閾值確定為初始資源閾值,繼續(xù)執(zhí)行檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值的步驟。
[0108]例如,終端在預(yù)設(shè)檢測(cè)時(shí)間段3分鐘內(nèi)檢測(cè)到控制組中所有進(jìn)程所占用的總資源值始終大于初始資源閾值,則停止運(yùn)行修改初始資源閾值的線(xiàn)程,并開(kāi)始計(jì)時(shí)。假設(shè)減小之前的初始資源閾值為900MB且預(yù)定時(shí)間段是I分鐘,則在計(jì)時(shí)達(dá)到I分鐘后,終端將初始資源閾值設(shè)置為減小之前的初始資源閾值900MB,繼續(xù)執(zhí)行檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值的步驟。
[0109]在步驟206中,若檢測(cè)出控制組中所有進(jìn)程所占用的總資源值大于初始資源閾值,則對(duì)控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,繼續(xù)步驟204。
[0110]例如,終端檢測(cè)出控制組中所有進(jìn)程所占用的總資源值900MB,由于總資源值900MB大于初始資源閾值500MB時(shí),終端對(duì)控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,將控制組中空閑進(jìn)程所占用的資源進(jìn)行壓縮后存儲(chǔ)到虛擬設(shè)備上,并繼續(xù)執(zhí)行檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值的步驟。
[0111]綜上所述,本公開(kāi)提供的內(nèi)存優(yōu)化方法,通過(guò)在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值;若檢測(cè)出當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值達(dá)到資源臨界值,則將新創(chuàng)建進(jìn)程添加到不受資源閾值限制的控制組中;對(duì)控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得控制組中所有進(jìn)程所占用的總資源值小于資源閾值,可以將新創(chuàng)建的進(jìn)程添加到不受資源閾值限制的控制組,再對(duì)該控制組中所有進(jìn)程所占用的總資源值進(jìn)行壓縮,解決了當(dāng)終端在執(zhí)行換出操作的同時(shí)向控制組添加新創(chuàng)建的進(jìn)程時(shí),執(zhí)行的換出操作的時(shí)延較長(zhǎng),影響終端的運(yùn)行速度的問(wèn)題,達(dá)到了在進(jìn)行內(nèi)存壓縮時(shí)減小操作時(shí)延的效果。
[0112]另外,通過(guò)減小初始資源閾值時(shí)出錯(cuò),則停止修改初始資源閾值;在間隔預(yù)定時(shí)間段之后,將初始資源閾值設(shè)置為減小之前的初始資源閾值,避免了控制組中空閑進(jìn)程太少時(shí),重復(fù)對(duì)終端執(zhí)行換出操作影響終端運(yùn)行速度的問(wèn)題,可以通過(guò)降低換出操作的執(zhí)行頻率來(lái)逐步壓縮內(nèi)存,提高對(duì)內(nèi)存的壓縮效率。
[0113]圖3是根據(jù)一示例性實(shí)施例示出的一種內(nèi)存優(yōu)化裝置的框圖,該內(nèi)存優(yōu)化裝置應(yīng)用于終端中,如圖3所示,該內(nèi)存優(yōu)化裝置包括:資源檢測(cè)模塊310、進(jìn)程添加模塊320和資源換出模塊330。
[0114]該資源檢測(cè)模塊310,被配置為在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值,資源臨界值是當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值小于與控制組對(duì)應(yīng)的資源閾值,且將新創(chuàng)建進(jìn)程添加到控制組后,控制組中所有進(jìn)程所占用的總資源值大于資源閾值時(shí)的資源值;
[0115]該進(jìn)程添加模塊320,被配置為當(dāng)資源檢測(cè)模塊檢測(cè)出當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值達(dá)到資源臨界值時(shí),將新創(chuàng)建進(jìn)程添加到不受資源閾值限制的控制組中;
[0116]該資源換出模塊330,被配置為對(duì)進(jìn)程添加模塊添加的控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得控制組中所有進(jìn)程所占用的總資源值小于資源閾值。
[0117]綜上所述,本公開(kāi)提供的內(nèi)存優(yōu)化裝置,通過(guò)在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值;若檢測(cè)出當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值達(dá)到資源臨界值,則將新創(chuàng)建進(jìn)程添加到不受資源閾值限制的控制組中;對(duì)控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得控制組中所有進(jìn)程所占用的總資源值小于資源閾值,可以將新創(chuàng)建的進(jìn)程添加到不受資源閾值限制的控制組,再對(duì)該控制組中所有進(jìn)程所占用的總資源值進(jìn)行壓縮,解決了當(dāng)終端在執(zhí)行換出操作的同時(shí)向控制組添加新創(chuàng)建的進(jìn)程時(shí),執(zhí)行的換出操作的時(shí)延較長(zhǎng),影響終端的運(yùn)行速度的問(wèn)題,達(dá)到了在進(jìn)行內(nèi)存壓縮時(shí)減小操作時(shí)延的效果。
[0118]圖4是根據(jù)一示例性實(shí)施例示出的一種內(nèi)存優(yōu)化裝置的框圖,該內(nèi)存優(yōu)化裝置應(yīng)用于終端中,如圖4所示,該內(nèi)存優(yōu)化裝置包括:資源檢測(cè)模塊310、進(jìn)程添加模塊320和資源換出模塊330。
[0119]該資源檢測(cè)模塊310,被配置為在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值,資源臨界值是當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值小于與控制組對(duì)應(yīng)的資源閾值,且將新創(chuàng)建進(jìn)程添加到控制組后,控制組中所有進(jìn)程所占用的總資源值大于資源閾值時(shí)的資源值;
[0120]該進(jìn)程添加模塊320,被配置為當(dāng)資源檢測(cè)模塊310檢測(cè)出當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值達(dá)到資源臨界值時(shí),將新創(chuàng)建進(jìn)程添加到不受資源閾值限制的控制組中;
[0121]資源換出模塊330,被配置為對(duì)進(jìn)程添加模塊320添加的控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得控制組中所有進(jìn)程所占用的總資源值小于資源閾值。
[0122]可選的,當(dāng)控制組是受資源閾值限制的系統(tǒng)控制組時(shí),進(jìn)程添加模塊320,包括:閾值保存子模塊321、限制取消子模塊322和進(jìn)程添加子模塊323。
[0123]該閾值保存子模塊321,被配置為對(duì)系統(tǒng)控制組的資源閾值進(jìn)行保存;
[0124]該限制取消子模塊322,被配置為取消資源閾值對(duì)系統(tǒng)控制組中所有進(jìn)程所占用的總資源值的限制;
[0125]進(jìn)程添加子模塊323,被配置為將新創(chuàng)建進(jìn)程添加到系統(tǒng)控制組中。
[0126]可選的,若控制組是不受資源閾值限制的非系統(tǒng)控制組,則裝置還包括:閾值讀取模塊340。
[0127]該閾值讀取模塊340,被配置為讀取系統(tǒng)控制組的資源閾值,將資源閾值確定為與非系統(tǒng)控制組對(duì)應(yīng)的資源閾值。
[0128]可選的,資源換出模塊330,包括:第一設(shè)置子模塊331、資源檢測(cè)子模塊332、第一處理子模塊333和第二處理子模塊334。
[0129]該第一設(shè)置子模塊331,被配置為對(duì)控制組設(shè)置初始資源閾值,初始資源閾值大于資源閾值;
[0130]該資源檢測(cè)子模塊332,被配置為檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于第一設(shè)置子模塊331設(shè)置的初始資源閾值;
[0131]該第一處理子模塊333,被配置為當(dāng)資源檢測(cè)子模塊332檢測(cè)出控制組中所有進(jìn)程所占用的總資源值小于初始資源閾值時(shí),減小初始資源閾值,繼續(xù)執(zhí)行檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值的操作,直至初始資源閾值等于資源閾值且控制組中所有進(jìn)程所占用的總資源值小于資源閾值時(shí)停止;
[0132]該第二處理子模塊334,被配置為當(dāng)資源檢測(cè)子模塊332檢測(cè)出控制組中所有進(jìn)程所占用的總資源值大于初始資源閾值時(shí),對(duì)控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,繼續(xù)執(zhí)行檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值的操作。
[0133]可選的,第一處理子模塊333,包括:閾值減小子模塊3331、差值檢測(cè)子模塊3332和第二設(shè)置子模塊3333。
[0134]該閾值減小子模塊3331,被配置為減小初始資源閾值;
[0135]該差值檢測(cè)子模塊3332,被配置為檢測(cè)閾值減小子模塊3331減小后的初始資源閾值與資源閾值的差值是否小于預(yù)定數(shù)值;
[0136]該第二設(shè)置子模塊3333,被配置為當(dāng)差值檢測(cè)子模塊3332檢測(cè)出差值小于預(yù)定數(shù)值時(shí),將減小后的初始資源閾值設(shè)置為資源閾值,繼續(xù)執(zhí)行檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值的操作,直至控制組中所有進(jìn)程所占用的總資源值小于資源閾值時(shí)停止。
[0137]可選的,第一處理子模塊333,還包括:修改暫停子模塊3334和檢測(cè)循環(huán)子模塊3335。
[0138]該修改暫停子模塊3334,被配置為當(dāng)減小初始資源閾值時(shí)出錯(cuò)時(shí),停止修改初始資源閾值;
[0139]該檢測(cè)循環(huán)子模塊3335,被配置為在間隔預(yù)定時(shí)間段之后,將初始資源閾值設(shè)置為減小之前的初始資源閾值,繼續(xù)執(zhí)行檢測(cè)控制組中所有進(jìn)程所占用的總資源值是否小于初始資源閾值的操作。
[0140]綜上所述,本公開(kāi)提供的內(nèi)存優(yōu)化裝置,通過(guò)在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值;若檢測(cè)出當(dāng)前時(shí)刻控制組中所有進(jìn)程所占用的總資源值達(dá)到資源臨界值,則將新創(chuàng)建進(jìn)程添加到不受資源閾值限制的控制組中;對(duì)控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得控制組中所有進(jìn)程所占用的總資源值小于資源閾值,可以將新創(chuàng)建的進(jìn)程添加到不受資源閾值限制的控制組,再對(duì)該控制組中所有進(jìn)程所占用的總資源值進(jìn)行壓縮,解決了當(dāng)終端在執(zhí)行換出操作的同時(shí)向控制組添加新創(chuàng)建的進(jìn)程時(shí),執(zhí)行的換出操作的時(shí)延較長(zhǎng),影響終端的運(yùn)行速度的問(wèn)題,達(dá)到了在進(jìn)行內(nèi)存壓縮時(shí)減小操作時(shí)延的效果。
[0141]另外,通過(guò)減小初始資源閾值時(shí)出錯(cuò),則停止修改初始資源閾值;在間隔預(yù)定時(shí)間段之后,將初始資源閾值設(shè)置為減小之前的初始資源閾值,避免了控制組中空閑進(jìn)程太少時(shí),重復(fù)對(duì)終端執(zhí)行換出操作影響終端運(yùn)行速度的問(wèn)題,可以通過(guò)降低換出操作的執(zhí)行頻率來(lái)逐步壓縮內(nèi)存,提高對(duì)內(nèi)存的壓縮效率。
[0142]關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說(shuō)明。
[0143]圖5是根據(jù)一示例性實(shí)施例示出的一種用于內(nèi)存優(yōu)化的裝置500的框圖。例如,裝置500可以是移動(dòng)電話(huà),計(jì)算機(jī),數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺(tái),平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個(gè)人數(shù)字助理等。
[0144]參照?qǐng)D5,裝置500可以包括以下一個(gè)或多個(gè)組件:處理組件502,存儲(chǔ)器504,電源組件506,多媒體組件508,音頻組件510,輸入/輸出(I/O)的接口 512,傳感器組件514,以及通信組件516。
[0145]處理組件502通??刂蒲b置500的整體操作,諸如與顯示,電話(huà)呼叫,數(shù)據(jù)通信,相機(jī)操作和記錄操作相關(guān)聯(lián)的操作。處理組件502可以包括一個(gè)或多個(gè)處理器518來(lái)執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件502可以包括一個(gè)或多個(gè)模塊,便于處理組件502和其他組件之間的交互。例如,處理組件502可以包括多媒體模塊,以方便多媒體組件508和處理組件502之間的交互。
[0146]存儲(chǔ)器504被配置為存儲(chǔ)各種類(lèi)型的數(shù)據(jù)以支持在裝置500的操作。這些數(shù)據(jù)的示例包括用于在裝置500上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話(huà)簿數(shù)據(jù),消息,圖片,視頻等。存儲(chǔ)器504可以由任何類(lèi)型的易失性或非易失性存儲(chǔ)設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM),電可擦除可編程只讀存儲(chǔ)器(EEPROM),可擦除可編程只讀存儲(chǔ)器(EPROM),可編程只讀存儲(chǔ)器(PROM),只讀存儲(chǔ)器(ROM),磁存儲(chǔ)器,快閃存儲(chǔ)器,磁盤(pán)或光盤(pán)。
[0147]電源組件506為裝置500的各種組件提供電力。電源組件506可以包括電源管理系統(tǒng),一個(gè)或多個(gè)電源,及其他與為裝置500生成、管理和分配電力相關(guān)聯(lián)的組件。
[0148]多媒體組件508包括在所述裝置500和用戶(hù)之間的提供一個(gè)輸出接口的屏幕。在一些實(shí)施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實(shí)現(xiàn)為觸摸屏,以接收來(lái)自用戶(hù)的輸入信號(hào)。觸摸面板包括一個(gè)或多個(gè)觸摸傳感器以感測(cè)觸摸、滑動(dòng)和觸摸面板上的手勢(shì)。所述觸摸傳感器可以不僅感測(cè)觸摸或滑動(dòng)動(dòng)作的邊界,而且還檢測(cè)與所述觸摸或滑動(dòng)操作相關(guān)的持續(xù)時(shí)間和壓力。在一些實(shí)施例中,多媒體組件508包括一個(gè)前置攝像頭和/或后置攝像頭。當(dāng)裝置500處于操作模式,如拍攝模式或視頻模式時(shí),前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個(gè)前置攝像頭和后置攝像頭可以是一個(gè)固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
[0149]音頻組件510被配置為輸出和/或輸入音頻信號(hào)。例如,音頻組件510包括一個(gè)麥克風(fēng)(MIC),當(dāng)裝置500處于操作模式,如呼叫模式、記錄模式和語(yǔ)音識(shí)別模式時(shí),麥克風(fēng)被配置為接收外部音頻信號(hào)。所接收的音頻信號(hào)可以被進(jìn)一步存儲(chǔ)在存儲(chǔ)器504或經(jīng)由通信組件516發(fā)送。在一些實(shí)施例中,音頻組件510還包括一個(gè)揚(yáng)聲器,用于輸出音頻信號(hào)。
[0150]I/O接口 512為處理組件502和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤(pán),點(diǎn)擊輪,按鈕等。這些按鈕可包括但不限于:主頁(yè)按鈕、音量按鈕、啟動(dòng)按鈕和鎖定按鈕。
[0151]傳感器組件514包括一個(gè)或多個(gè)傳感器,用于為裝置500提供各個(gè)方面的狀態(tài)評(píng)估。例如,傳感器組件514可以檢測(cè)到裝置500的打開(kāi)/關(guān)閉狀態(tài),組件的相對(duì)定位,例如所述組件為裝置500的顯示器和小鍵盤(pán),傳感器組件514還可以檢測(cè)裝置500或裝置500一個(gè)組件的位置改變,用戶(hù)與裝置500接觸的存在或不存在,裝置500方位或加速/減速和裝置500的溫度變化。傳感器組件514可以包括接近傳感器,被配置用來(lái)在沒(méi)有任何的物理接觸時(shí)檢測(cè)附近物體的存在。傳感器組件514還可以包括光傳感器,如CMOS或CXD圖像傳感器,用于在成像應(yīng)用中使用。在一些實(shí)施例中,該傳感器組件514還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
[0152]通信組件516被配置為便于裝置500和其他設(shè)備之間有線(xiàn)或無(wú)線(xiàn)方式的通信。裝置500可以接入基于通信標(biāo)準(zhǔn)的無(wú)線(xiàn)網(wǎng)絡(luò),如WiFi,2G或3G,或它們的組合。在一個(gè)示例性實(shí)施例中,通信組件516經(jīng)由廣播信道接收來(lái)自外部廣播管理系統(tǒng)的廣播信號(hào)或廣播相關(guān)信息。在一個(gè)示例性實(shí)施例中,所述通信組件516還包括近場(chǎng)通信(NFC)模塊,以促進(jìn)短程通信。例如,在NFC模塊可基于射頻識(shí)別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(huì)(IrDA)技術(shù),超寬帶(UffB)技術(shù),藍(lán)牙(BT)技術(shù)和其他技術(shù)來(lái)實(shí)現(xiàn)。
[0153]在示例性實(shí)施例中,裝置500可以被一個(gè)或多個(gè)應(yīng)用專(zhuān)用集成電路(ASIC)、數(shù)字信號(hào)處理器(DSP)、數(shù)字信號(hào)處理設(shè)備(DSro)、可編程邏輯器件(PLD)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行上述方法。
[0154]在示例性實(shí)施例中,還提供了一種包括指令的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括指令的存儲(chǔ)器504,上述指令可由裝置500的處理器518執(zhí)行以完成上述方法。例如,所述非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是ROM、隨機(jī)存取存儲(chǔ)器(RAM)、CD-ROM、磁帶、軟盤(pán)和光數(shù)據(jù)存儲(chǔ)設(shè)備等。
[0155]本領(lǐng)域技術(shù)人員在考慮說(shuō)明書(shū)及實(shí)踐這里的公開(kāi)的后,將容易想到本公開(kāi)的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本公開(kāi)的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開(kāi)的一般性原理并包括本公開(kāi)未公開(kāi)的本【技術(shù)領(lǐng)域】中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書(shū)和實(shí)施例僅被視為示例性的,本公開(kāi)的真正范圍和精神由下面的權(quán)利要求指出。
[0156]應(yīng)當(dāng)理解的是,本公開(kāi)并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本公開(kāi)的范圍僅由所附的權(quán)利要求來(lái)限制。
【權(quán)利要求】
1.一種內(nèi)存優(yōu)化方法,其特征在于,包括: 在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值,所述資源臨界值是當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值小于與所述控制組對(duì)應(yīng)的資源閾值,且將所述新創(chuàng)建進(jìn)程添加到所述控制組后,所述控制組中所有進(jìn)程所占用的總資源值大于所述資源閾值時(shí)的資源值; 若檢測(cè)出當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值達(dá)到所述資源臨界值,則將所述新創(chuàng)建進(jìn)程添加到不受所述資源閾值限制的所述控制組中; 對(duì)所述控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,若所述控制組是受所述資源閾值限制的系統(tǒng)控制組,則所述將所述新創(chuàng)建進(jìn)程添加到不受所述資源閾值限制的所述控制組中,包括: 對(duì)所述系統(tǒng)控制組的所述資源閾值進(jìn)行保存; 取消所述資源閾值對(duì)所述系統(tǒng)控制組中所有進(jìn)程所占用的總資源值的限制; 將所述新創(chuàng)建進(jìn)程添加到所述系統(tǒng)控制組中。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,若所述控制組是不受資源閾值限制的非系統(tǒng)控制組,則所述方法還包括: 讀取系統(tǒng)控制組的資源閾值,將所述資源閾值確定為與所述非系統(tǒng)控制組對(duì)應(yīng)的資源閾值。
4.根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,所述對(duì)所述控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值,包括: 對(duì)所述控制組設(shè)置初始資源閾值,所述初始資源閾值大于所述資源閾值; 檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值; 若檢測(cè)出所述控制組中所有進(jìn)程所占用的總資源值小于所述初始資源閾值,則減小所述初始資源閾值,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的步驟,直至所述初始資源閾值等于所述資源閾值且所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值時(shí)停止; 若檢測(cè)出所述控制組中所有進(jìn)程所占用的總資源值大于所述初始資源閾值,則對(duì)所述控制組中所述空閑進(jìn)程所占用的資源執(zhí)行換出操作,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的步驟。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述減小所述初始資源閾值,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的步驟,直至所述初始資源閾值等于所述資源閾值且所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值時(shí)停止,包括: 減小所述初始資源閾值; 檢測(cè)減小后的所述初始資源閾值與所述資源閾值的差值是否小于預(yù)定數(shù)值; 若檢測(cè)出所述差值小于所述預(yù)定數(shù)值,則將減小后的所述初始資源閾值設(shè)置為所述資源閾值,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的步驟,直至所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值時(shí)停止。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 若減小所述初始資源閾值時(shí)出錯(cuò),則停止修改所述初始資源閾值; 在間隔預(yù)定時(shí)間段之后,將所述初始資源閾值設(shè)置為減小之前的初始資源閾值,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的步驟。
7.—種內(nèi)存優(yōu)化裝置,其特征在于,包括: 資源檢測(cè)模塊,被配置為在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值,所述資源臨界值是當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值小于與所述控制組對(duì)應(yīng)的資源閾值,且將所述新創(chuàng)建進(jìn)程添加到所述控制組后,所述控制組中所有進(jìn)程所占用的總資源值大于所述資源閾值時(shí)的資源值; 進(jìn)程添加模塊,被配置為當(dāng)所述資源檢測(cè)模塊檢測(cè)出當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值達(dá)到所述資源臨界值時(shí),將所述新創(chuàng)建進(jìn)程添加到不受所述資源閾值限制的所述控制組中; 資源換出模塊,被配置為對(duì)所述進(jìn)程添加模塊添加的所述控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,當(dāng)所述控制組是受所述資源閾值限制的系統(tǒng)控制組時(shí),所述進(jìn)程添加模塊,包括: 閾值保存子模塊,被配置為對(duì)所述系統(tǒng)控制組的所述資源閾值進(jìn)行保存; 限制取消子模塊,被配置為取消所述資源閾值對(duì)所述系統(tǒng)控制組中所有進(jìn)程所占用的總資源值的限制; 進(jìn)程添加子模塊,被配置為將所述新創(chuàng)建進(jìn)程添加到所述系統(tǒng)控制組中。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,若所述控制組是不受資源閾值限制的非系統(tǒng)控制組,則所述裝置還包括: 閾值讀取模塊,被配置為讀取系統(tǒng)控制組的資源閾值,將所述資源閾值確定為與所述非系統(tǒng)控制組對(duì)應(yīng)的資源閾值。
10.根據(jù)權(quán)利要求7至9任一項(xiàng)所述的裝置,其特征在于,所述資源換出模塊,包括: 第一設(shè)置子模塊,被配置為對(duì)所述控制組設(shè)置初始資源閾值,所述初始資源閾值大于所述資源閾值; 資源檢測(cè)子模塊,被配置為檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述第一設(shè)置子模塊設(shè)置的所述初始資源閾值; 第一處理子模塊,被配置為當(dāng)所述資源檢測(cè)子模塊檢測(cè)出所述控制組中所有進(jìn)程所占用的總資源值小于所述初始資源閾值時(shí),減小所述初始資源閾值,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的操作,直至所述初始資源閾值等于所述資源閾值且所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值時(shí)停止;第二處理子模塊,被配置為當(dāng)所述資源檢測(cè)子模塊檢測(cè)出所述控制組中所有進(jìn)程所占用的總資源值大于所述初始資源閾值時(shí),對(duì)所述控制組中所述空閑進(jìn)程所占用的資源執(zhí)行換出操作,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的操作。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述第一處理子模塊,包括: 閾值減小子模塊,被配置為減小所述初始資源閾值; 差值檢測(cè)子模塊,被配置為檢測(cè)所述閾值減小子模塊減小后的所述初始資源閾值與所述資源閾值的差值是否小于預(yù)定數(shù)值; 第二設(shè)置子模塊,被配置為當(dāng)所述差值檢測(cè)子模塊檢測(cè)出所述差值小于所述預(yù)定數(shù)值時(shí),將減小后的所述初始資源閾值設(shè)置為所述資源閾值,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的操作,直至所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值時(shí)停止。
12.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述第一處理子模塊,還包括: 修改暫停子模塊,被配置為當(dāng)減小所述初始資源閾值時(shí)出錯(cuò)時(shí),停止修改所述初始資源閾值; 檢測(cè)循環(huán)子模塊,被配置為在間隔預(yù)定時(shí)間段之后,將所述初始資源閾值設(shè)置為減小之前的初始資源閾值,繼續(xù)執(zhí)行所述檢測(cè)所述控制組中所有進(jìn)程所占用的總資源值是否小于所述初始資源閾值的操作。
13.一種內(nèi)存優(yōu)化裝置,其特征在于,包括: 處理器; 用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器; 其中,所述處理器被配置為: 在需要向控制組中添加新創(chuàng)建進(jìn)程時(shí),檢測(cè)當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值是否達(dá)到資源臨界值,所述資源臨界值是當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值小于與所述控制組對(duì)應(yīng)的資源閾值,且將所述新創(chuàng)建進(jìn)程添加到所述控制組后,所述控制組中所有進(jìn)程所占用的總資源值大于所述資源閾值時(shí)的資源值; 若檢測(cè)出當(dāng)前時(shí)刻所述控制組中所有進(jìn)程所占用的總資源值達(dá)到所述資源臨界值,則將所述新創(chuàng)建進(jìn)程添加到不受所述資源閾值限制的所述控制組中; 對(duì)所述控制組中空閑進(jìn)程所占用的資源執(zhí)行換出操作,使得所述控制組中所有進(jìn)程所占用的總資源值小于所述資源閾值。
【文檔編號(hào)】G06F9/46GK104407924SQ201410602435
【公開(kāi)日】2015年3月11日 申請(qǐng)日期:2014年10月31日 優(yōu)先權(quán)日:2014年10月31日
【發(fā)明者】邱峰, 張建春, 黃其武 申請(qǐng)人:小米科技有限責(zé)任公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
修文县| 安溪县| 石嘴山市| 即墨市| 台前县| 麦盖提县| 微山县| 高唐县| 梨树县| 罗田县| 繁昌县| 和顺县| 静安区| 方城县| 吴桥县| 屯门区| 社旗县| 南投县| 曲水县| 广东省| 昔阳县| 龙胜| 锦州市| 金湖县| 南召县| 泸溪县| 江华| 壤塘县| 乳山市| 隆尧县| 岳阳市| 高碑店市| 张掖市| 敦煌市| 五大连池市| 阆中市| 普安县| 循化| 新邵县| 德庆县| 界首市|