本發(fā)明涉及操作系統(tǒng)性能優(yōu)化技術(shù)領(lǐng)域,尤其涉及一種CPU性能調(diào)整方法及裝置。
背景技術(shù):
當(dāng)前的linux操作系統(tǒng)是一個通用性的系統(tǒng),系統(tǒng)的運行情況會實時發(fā)生變化:在一些運行場景下,系統(tǒng)的負載會非常大;而在一些運行場景下,系統(tǒng)的負載會很小。對于一個系統(tǒng)來說,其CPU是固定的,因此在系統(tǒng)負載比較大的情況下,只有提升CPU性能才能更好的利用系統(tǒng)資源,提升系統(tǒng)性能,以滿足用戶需求;在系統(tǒng)負載較小時,可以通過降低CPU性能來降低系統(tǒng)能耗。因此,根據(jù)系統(tǒng)負載來調(diào)整CPU性能,是優(yōu)化系統(tǒng)性能的有效方法。
在現(xiàn)有技術(shù)中,CPU性能通常由人工進行干預(yù)調(diào)整。當(dāng)用戶感覺系統(tǒng)處理速度較慢時,手動將CPU性能調(diào)整為高性能模式,以加快系統(tǒng)處理速度;當(dāng)用戶不需要處理太多事務(wù)時,對系統(tǒng)性能要求較低,此時可以將CPU性能調(diào)整為節(jié)能模式,將低CPU性能以降低能耗。現(xiàn)有的對CPU性能調(diào)整的方法完全依賴人工完成,實時性較差且自動化低。
技術(shù)實現(xiàn)要素:
基于上述現(xiàn)有技術(shù)的缺陷和不足,本發(fā)明提出一種CPU性能調(diào)整方法及裝置,采用該方法,能夠自動判斷系統(tǒng)負荷狀態(tài),并根據(jù)系統(tǒng)負荷狀態(tài)調(diào)整系統(tǒng)CPU性能,不用人工干預(yù),自動化程度較高。
一種CPU性能調(diào)整方法,包括:
采集系統(tǒng)的負載信息;
根據(jù)所述負載信息,判斷所述系統(tǒng)的負荷狀態(tài);
如果所述系統(tǒng)處于高負荷狀態(tài),則調(diào)整所述系統(tǒng)的CPU處于高性能狀態(tài);
如果所述系統(tǒng)處于低負荷狀態(tài),則調(diào)整所述系統(tǒng)的CPU處于節(jié)能狀態(tài)。
優(yōu)選地,所述采集系統(tǒng)的負載信息,包括:
采集系統(tǒng)正在執(zhí)行的任務(wù)數(shù)量信息、或采集系統(tǒng)的CPU利用率信息。
優(yōu)選地,所述根據(jù)所述負載信息,判斷所述系統(tǒng)的負荷狀態(tài),包括:
根據(jù)所述負載信息,得到所述系統(tǒng)的負載;
將所述系統(tǒng)的負載與設(shè)定的負載閾值進行對比處理;
如果所述系統(tǒng)的負載大于所述設(shè)定的負載閾值,則判斷所述系統(tǒng)處于高負荷狀態(tài);
如果所述系統(tǒng)的負載不大于所述設(shè)定的負載閾值,則判斷所述系統(tǒng)處于低負荷狀態(tài)。
優(yōu)選地,所述調(diào)整所述系統(tǒng)的CPU處于高性能狀態(tài),包括:
調(diào)整所述系統(tǒng)的CPU的響應(yīng)時間為設(shè)定的第一時間。
優(yōu)選地,所述調(diào)整所述系統(tǒng)的CPU處于節(jié)能狀態(tài),包括:
調(diào)整所述系統(tǒng)的CPU的響應(yīng)時間為設(shè)定的第二時間。
一種CPU性能調(diào)整裝置,包括:
信息采集單元,用于采集系統(tǒng)的負載信息;
判斷單元,用于根據(jù)所述負載信息,判斷所述系統(tǒng)的負荷狀態(tài);
處理單元,用于當(dāng)所述判斷單元判斷所述系統(tǒng)處于高負荷狀態(tài)時,調(diào)整所述系統(tǒng)的CPU處于高性能狀態(tài);當(dāng)所述判斷單元判斷所述系統(tǒng)處于低負荷狀態(tài)時,調(diào)整所述系統(tǒng)的CPU處于節(jié)能狀態(tài)。
優(yōu)選地,所述信息采集單元采集系統(tǒng)的負載信息時,具體用于:
采集系統(tǒng)正在執(zhí)行的任務(wù)數(shù)量信息、或采集系統(tǒng)的CPU利用率信息。
優(yōu)選地,所述判斷單元,包括:
信息提取單元,用于根據(jù)所述負載信息,得到所述系統(tǒng)的負載;
對比判斷單元,用于將所述系統(tǒng)的負載與設(shè)定的負載閾值進行對比處理;如果所述系統(tǒng)的負載大于所述設(shè)定的負載閾值,則判斷所述系統(tǒng)處于高負荷狀態(tài);如果所述系統(tǒng)的負載不大于所述設(shè)定的負載閾值,則判斷所述系統(tǒng)處于低負荷狀態(tài)。
優(yōu)選地,所述處理單元調(diào)整所述系統(tǒng)的CPU處于高性能狀態(tài)時,具體用于:
調(diào)整所述系統(tǒng)的CPU的響應(yīng)時間為設(shè)定的第一時間。
優(yōu)選地,所述處理單元調(diào)整所述系統(tǒng)的CPU處于節(jié)能狀態(tài)時,具體用于:
調(diào)整所述系統(tǒng)的CPU的響應(yīng)時間為設(shè)定的第二時間。
本發(fā)明提出的CPU性能調(diào)整方法,包括:采集系統(tǒng)的負載信息;根據(jù)所述負載信息,判斷所述系統(tǒng)的負荷狀態(tài);如果所述系統(tǒng)處于高負荷狀態(tài),則調(diào)整所述系統(tǒng)的CPU處于高性能狀態(tài);如果所述系統(tǒng)處于低負荷狀態(tài),則調(diào)整所述系統(tǒng)的CPU處于節(jié)能狀態(tài)。采用上述技術(shù)方案,自動采集系統(tǒng)負載信息,判斷系統(tǒng)負荷狀態(tài),并根據(jù)系統(tǒng)負荷狀態(tài)對系統(tǒng)CPU性能進行調(diào)整,在不需要人工干預(yù)的條件下,自動實現(xiàn)對CPU性能的調(diào)整,自動化程度較高。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種CPU性能調(diào)整方法的流程示意圖;
圖2是本發(fā)明實施例提供的另一種CPU性能調(diào)整方法的流程示意圖;
圖3是本發(fā)明實施例提供的一種CPU性能調(diào)整裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明實施例提供的另一種CPU性能調(diào)整裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例公開了一種CPU性能調(diào)整方法,參見圖1所示,該方法包括:
S101、采集系統(tǒng)的負載信息;
具體的,在操作系統(tǒng)工作過程中,可以通過系統(tǒng)文件采集系統(tǒng)負載信息,主要是采集與CPU運行相關(guān)的負載信息。
例如,對于Linus操作系統(tǒng),其運行情況會實時發(fā)生變化,在某些運行場景下系統(tǒng)的負載會非常大,而在某些運行場景下系統(tǒng)的負載非常小。通過系統(tǒng)中的procfs文件系統(tǒng),可以獲取到相關(guān)的系統(tǒng)負載信息。例如,在Linus系統(tǒng)中讀取proc/loadavg文件可獲取系統(tǒng)平均負載。
S102、根據(jù)所述負載信息,判斷所述系統(tǒng)的負荷狀態(tài);
具體的,對采集的系統(tǒng)負載信息進行分析,從中可以獲知系統(tǒng)運行情況,即系統(tǒng)負荷狀態(tài),具體為判斷系統(tǒng)是處于高負荷狀態(tài)還是處于低負荷狀態(tài)。如果系統(tǒng)負載較高,則確認系統(tǒng)處于高負荷狀態(tài);如果系統(tǒng)負載較低,則確認系統(tǒng)處于低負荷狀態(tài)。
如果所述系統(tǒng)處于高負荷狀態(tài),則執(zhí)行步驟S103、調(diào)整所述系統(tǒng)的CPU處于高性能狀態(tài);
具體的,在本發(fā)明實施例中,CPU具有兩中性能狀態(tài),一種是高性能狀態(tài),另一種是節(jié)能狀態(tài)。當(dāng)判斷系統(tǒng)處于高負荷狀態(tài)時,為了保證系統(tǒng)盡快處理任務(wù),縮短用戶等待時間,應(yīng)當(dāng)調(diào)整CPU處于高性能狀態(tài)。此時,CPU發(fā)揮最大性能,縮短響應(yīng)時間,以快速處理任務(wù)為目的。
如果所述系統(tǒng)處于低負荷狀態(tài),則執(zhí)行步驟S104、調(diào)整所述系統(tǒng)的CPU處于節(jié)能狀態(tài)。
具體的,如果判斷系統(tǒng)處于低負荷狀態(tài),此時系統(tǒng)處理的任務(wù)較少,或任務(wù)較簡單,不需要太高的系統(tǒng)性能即可滿足用戶需求,這時應(yīng)當(dāng)調(diào)整CPU處于節(jié)能狀態(tài)。此時,CPU調(diào)低性能,適當(dāng)放緩任務(wù)處理速度,延長響應(yīng)時間,以節(jié)能為目的。
需要說明的是,參照上述實施例,可以將上述實施例技術(shù)方案應(yīng)用于任意的CPU性能可調(diào)的操作系統(tǒng),實現(xiàn)對操作系統(tǒng)性能的自動實時調(diào)整。更進一步的,參照上述技術(shù)方案,還可以進一步根據(jù)系統(tǒng)負荷狀態(tài)對CPU性能進行更精確的定量調(diào)整。
本發(fā)明實施例提出的CPU性能調(diào)整方法,包括:采集系統(tǒng)的負載信息;根據(jù)所述負載信息,判斷所述系統(tǒng)的負荷狀態(tài);如果所述系統(tǒng)處于高負荷狀態(tài),則調(diào)整所述系統(tǒng)的CPU處于高性能狀態(tài);如果所述系統(tǒng)處于低負荷狀態(tài),則調(diào)整所述系統(tǒng)的CPU處于節(jié)能狀態(tài)。采用上述技術(shù)方案,自動采集系統(tǒng)負載信息,判斷系統(tǒng)負荷狀態(tài),并根據(jù)系統(tǒng)負荷狀態(tài)對系統(tǒng)CPU性能進行調(diào)整,在不需要人工干預(yù)的條件下,自動實現(xiàn)對CPU性能的調(diào)整,自動化程度較高。
可選的,在本發(fā)明的另一個實施例中,所述采集系統(tǒng)的負載信息,包括:
采集系統(tǒng)正在執(zhí)行的任務(wù)數(shù)量信息、或采集系統(tǒng)的CPU利用率信息。
具體的,系統(tǒng)正在執(zhí)行的任務(wù)數(shù)量,以及當(dāng)前系統(tǒng)的CPU利用率能夠直觀的反應(yīng)出系統(tǒng)的負載情況。例如,當(dāng)系統(tǒng)執(zhí)行任務(wù)數(shù)量較多,或者CPU利用率較高時,可以認為系統(tǒng)負載較高;當(dāng)系統(tǒng)執(zhí)行任務(wù)數(shù)量較少,或者CPU利用率較低時,都可以認為系統(tǒng)負載較低。因此,本發(fā)明實施例將系統(tǒng)正在執(zhí)行的任務(wù)數(shù)量信息,或系統(tǒng)的CPU利用率信息進行采集,作為系統(tǒng)負載信息。
可選的,在本發(fā)明的另一個實施例中,參見圖2所示,所述根據(jù)所述負載信息,判斷所述系統(tǒng)的負荷狀態(tài),包括:
S202、根據(jù)所述負載信息,得到所述系統(tǒng)的負載;
S203、將所述系統(tǒng)的負載與設(shè)定的負載閾值進行對比處理;
如果所述系統(tǒng)的負載大于所述設(shè)定的負載閾值,則執(zhí)行步驟S204、判斷所述系統(tǒng)處于高負荷狀態(tài);
如果所述系統(tǒng)的負載不大于所述設(shè)定的負載閾值,則執(zhí)行步驟S205、判斷所述系統(tǒng)處于低負荷狀態(tài)。
具體的,在本發(fā)明實施例中,根據(jù)采集的系統(tǒng)負載信息的數(shù)據(jù)類型,設(shè)置判斷系統(tǒng)負荷狀態(tài)的負載閾值。優(yōu)選地,設(shè)置負載閾值為與負載信息為同一量綱、同一類型的數(shù)據(jù),以便于比較。例如,假設(shè)采集的系統(tǒng)負載信息為包含系統(tǒng)執(zhí)行的任務(wù)數(shù)量的信息,則可以設(shè)置負載閾值為系統(tǒng)執(zhí)行的任務(wù)數(shù)量閾值。當(dāng)系統(tǒng)執(zhí)行的任務(wù)數(shù)量大于任務(wù)數(shù)量閾值時,可以判斷為系統(tǒng)處于高負荷狀態(tài);當(dāng)系統(tǒng)執(zhí)行的任務(wù)數(shù)量不大于任務(wù)數(shù)量閾值時,可以判斷為系統(tǒng)處于低負荷狀態(tài)。
參照上述舉例,可以根據(jù)實際使用場景設(shè)置負載閾值,并通過將系統(tǒng)負載與負載閾值進行對比,判斷系統(tǒng)的負荷狀態(tài)。
例如,假設(shè)采集的系統(tǒng)負載信息為表征系統(tǒng)CPU利用率為80%的數(shù)據(jù)信息,則可以從中提取出系統(tǒng)的負載為CPU利用率80%,相應(yīng)的,設(shè)置的負載閾值為CPU利用率70%。通過比較發(fā)現(xiàn),系統(tǒng)的負載(CPU利用率80%)大于負載閾值(CPU利用率70%),則可以判斷系統(tǒng)處于高負荷狀態(tài)。
本實施例中的步驟S201、S206、S207分別對應(yīng)圖1所示的方法實施例中的步驟S101、S103、S104,其具體內(nèi)容請參見對應(yīng)的方法實施例的內(nèi)容,此處不再贅述。
可選的,在本發(fā)明的另一個實施例中,所述調(diào)整所述系統(tǒng)的CPU處于高性能狀態(tài),包括:
調(diào)整所述系統(tǒng)的CPU的響應(yīng)時間為設(shè)定的第一時間。
具體的,在本發(fā)明實施例中,提升系統(tǒng)CPU性能的主要途徑是縮短CPU響應(yīng)時間,使CPU以更高的頻率響應(yīng)任務(wù)請求,從而整體上提升CPU工作效率。因此,當(dāng)需要提升CPU性能時,將CPU響應(yīng)時間設(shè)置為較短的第一時間,提升CPU工作效率,而不考慮CPU節(jié)能的問題。
例如,在Linux操作系統(tǒng)中,通過設(shè)置/dev/cpu_dma_latency為100微秒,減少cpu響應(yīng)時間,此時CPU工作效率提升,但是不進行省電。
可選的,在本發(fā)明的另一個實施例中,所述調(diào)整所述系統(tǒng)的CPU處于節(jié)能狀態(tài),包括:
調(diào)整所述系統(tǒng)的CPU的響應(yīng)時間為設(shè)定的第二時間。
具體的,在本發(fā)明實施例中,提升系統(tǒng)CPU性能的主要途徑是延長CPU響應(yīng)時間,使CPU以較低的頻率響應(yīng)任務(wù)請求,從而整體上較低CPU工作效率。因此,當(dāng)需要降低CPU性能時,將CPU響應(yīng)時間設(shè)置為較長的第二時間,降低CPU工作效率,盡量使CPU節(jié)能省電。
例如,在Linux操作系統(tǒng)中,通過設(shè)置/dev/cpu_dma_latency為1000微秒,延長cpu響應(yīng)時間,此時CPU工作效率降低,充分節(jié)省電能。
本發(fā)明實施例還公開了一種CPU性能調(diào)整裝置,參見圖3所示,包括:
信息采集單元301,用于采集系統(tǒng)的負載信息;
判斷單元302,用于根據(jù)所述負載信息,判斷所述系統(tǒng)的負荷狀態(tài);
處理單元303,用于當(dāng)所述判斷單元判斷所述系統(tǒng)處于高負荷狀態(tài)時,調(diào)整所述系統(tǒng)的CPU處于高性能狀態(tài);當(dāng)所述判斷單元判斷所述系統(tǒng)處于低負荷狀態(tài)時,調(diào)整所述系統(tǒng)的CPU處于節(jié)能狀態(tài)。
具體的,本實施例中各個單元的具體工作內(nèi)容,請參見對應(yīng)的方法實施例的內(nèi)容,此處不再贅述。
本發(fā)明實施例提出的CPU性能調(diào)整裝置,在對CPU性能進行調(diào)整時,由信息采集單元301采集系統(tǒng)的負載信息;然后判斷單元302根據(jù)所述負載信息,判斷所述系統(tǒng)的負荷狀態(tài);如果所述系統(tǒng)處于高負荷狀態(tài),則處理單元303調(diào)整所述系統(tǒng)的CPU處于高性能狀態(tài);如果所述系統(tǒng)處于低負荷狀態(tài),則處理單元303調(diào)整所述系統(tǒng)的CPU處于節(jié)能狀態(tài)。采用上述裝置,能夠自動采集系統(tǒng)負載信息,判斷系統(tǒng)負荷狀態(tài),并根據(jù)系統(tǒng)負荷狀態(tài)對系統(tǒng)CPU性能進行調(diào)整,在不需要人工干預(yù)的條件下,自動實現(xiàn)對CPU性能的調(diào)整,自動化程度較高。
可選的,在本發(fā)明的另一個實施例中,信息采集單元301采集系統(tǒng)的負載信息時,具體用于:
采集系統(tǒng)正在執(zhí)行的任務(wù)數(shù)量信息、或采集系統(tǒng)的CPU利用率信息。
具體的,本實施例中信息采集單元301的具體工作內(nèi)容,請參見對應(yīng)的方法實施例的內(nèi)容,此處不再贅述。
可選的,在本發(fā)明的另一個實施例中,參見圖4所示,判斷單元302,包括:
信息提取單元3021,用于根據(jù)所述負載信息,得到所述系統(tǒng)的負載;
對比判斷單元3022,用于將所述系統(tǒng)的負載與設(shè)定的負載閾值進行對比處理;如果所述系統(tǒng)的負載大于所述設(shè)定的負載閾值,則判斷所述系統(tǒng)處于高負荷狀態(tài);如果所述系統(tǒng)的負載不大于所述設(shè)定的負載閾值,則判斷所述系統(tǒng)處于低負荷狀態(tài)。
具體的,本實施例中各個單元的具體工作內(nèi)容,請參見對應(yīng)的方法實施例的內(nèi)容,此處不再贅述。
可選的,在本發(fā)明的另一個實施例中,處理單元303調(diào)整所述系統(tǒng)的CPU處于高性能狀態(tài)時,具體用于:
調(diào)整所述系統(tǒng)的CPU的響應(yīng)時間為設(shè)定的第一時間。
具體的,本實施例中處理單元303的具體工作內(nèi)容,請參見對應(yīng)的方法實施例的內(nèi)容,此處不再贅述。
可選的,在本發(fā)明的另一個實施例中,處理單元303調(diào)整所述系統(tǒng)的CPU處于節(jié)能狀態(tài)時,具體用于:
調(diào)整所述系統(tǒng)的CPU的響應(yīng)時間為設(shè)定的第二時間。
具體的,本實施例中處理單元303的具體工作內(nèi)容,請參見對應(yīng)的方法實施例的內(nèi)容,此處不再贅述。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。