本發(fā)明涉及計算機技術(shù)領(lǐng)域,并且更具體地涉及一種基于龍芯平臺的系統(tǒng)性能調(diào)優(yōu)方法和裝置。
背景技術(shù):
每個塊設(shè)備或者塊設(shè)備的分區(qū),都對應(yīng)有自身的請求隊列(request_queue),而每個請求隊列都可以選擇一個輸入/輸出(i/o)調(diào)度器來協(xié)調(diào)所遞交的請求(request)。linux系統(tǒng)的i/o調(diào)度器的基本目的是將請求按照它們對應(yīng)在塊設(shè)備上的扇區(qū)號進行排列,以減少磁頭的移動,提高效率。linux內(nèi)核2.6開始引入了全新的i/o調(diào)度子系統(tǒng),提供了cfq、deadline、noop三種i/o調(diào)度器。
cfq(completelyfairscheduler)調(diào)度器:在觸發(fā)i/o請求的所有進程中確保磁盤i/o帶寬的公平分配。采用輪詢方式掃描i/o輸入隊列,選擇第一個非空隊列,依次調(diào)度不同隊列中特定個數(shù)(公平)的請求,然后將這些請求移動到調(diào)度隊列的末尾。cfq調(diào)度器適用于有大量進程的多用戶系統(tǒng)。
deadline調(diào)度器:主要針對i/o請求的延時而設(shè)計,每個i/o請求都被附加一個最后執(zhí)行期限。deadline調(diào)度器更適合于數(shù)據(jù)庫應(yīng)用。
noop調(diào)度器:是內(nèi)核中最簡單的i/o調(diào)度算法。noop調(diào)度算法也叫作電梯調(diào)度算法,它將i/o請求放入到一個fifo(先進先出)隊列中,然后逐個執(zhí)行這些i/o請求。當然,對于一些在磁盤上連續(xù)的i/o請求,noop算法會適當做一些合并。這個調(diào)度算法特別適合那些不希望調(diào)度器重新組織i/o請求順序的應(yīng)用。
技術(shù)實現(xiàn)要素:
針對上述現(xiàn)有技術(shù)中存在的問題,本發(fā)明的目的在于提供一種基于龍芯平臺的系統(tǒng)性能調(diào)優(yōu)方法和裝置,針對國產(chǎn)平臺性能較低的情況,調(diào)整基于龍芯平臺的系統(tǒng)i/o調(diào)度器以使系統(tǒng)達到最佳性能并滿足不同應(yīng)用場景的需求。
根據(jù)本發(fā)明,提供一種基于龍芯平臺的系統(tǒng)性能調(diào)優(yōu)方法,該方法包括以下步驟:
步驟一:確定系統(tǒng)默認的i/o調(diào)度器;
步驟二:動態(tài)修改i/o調(diào)度器以選擇為需求帶來最佳性能的調(diào)度器;
步驟三:修改系統(tǒng)內(nèi)核引導參數(shù)以永久更改i/o調(diào)度器;以及
步驟四:使用命令來進行讀寫測試以確定系統(tǒng)性能的提升。
進一步地,在步驟三之后進一步包括通過修改選定的i/o調(diào)度器的相關(guān)參數(shù)以進一步調(diào)優(yōu)系統(tǒng)性能。
進一步地,在步驟三之后進一步包括通過修改磁盤相關(guān)的內(nèi)核參數(shù)以進一步調(diào)優(yōu)系統(tǒng)性能。
進一步地,調(diào)度器包含cfq調(diào)度器、deadline調(diào)度器和noop調(diào)度器中的一種或多種。
根據(jù)本發(fā)明,還提供一種基于龍芯平臺的系統(tǒng)性能調(diào)優(yōu)裝置,該裝置包括以下裝置:
確定系統(tǒng)默認的i/o調(diào)度器的裝置;
動態(tài)修改i/o調(diào)度器以選擇為需求帶來最佳性能的調(diào)度器的裝置;
修改系統(tǒng)內(nèi)核引導參數(shù)以永久更改i/o調(diào)度器的裝置;以及
使用命令來進行讀寫測試以確定系統(tǒng)性能的提升的裝置。
進一步地,該裝置進一步包括通過修改選定的i/o調(diào)度器的相關(guān)參數(shù)以進一步調(diào)優(yōu)系統(tǒng)性能的裝置。
進一步地,該裝置進一步包括通過修改磁盤相關(guān)的內(nèi)核參數(shù)以進一步調(diào)優(yōu)系統(tǒng)性能的裝置。
進一步地,調(diào)度器包含cfq調(diào)度器、deadline調(diào)度器和noop調(diào)度器中的一種或多種。
根據(jù)本發(fā)明,還提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序(指令),用于實現(xiàn)對系統(tǒng)性能的調(diào)優(yōu),所述程序(指令)被處理器執(zhí)行時實現(xiàn)基于龍芯平臺的系統(tǒng)性能調(diào)優(yōu)方法的步驟。
本發(fā)明基于龍芯平臺,調(diào)節(jié)系統(tǒng)i/o調(diào)度器以使系統(tǒng)達到最佳性能,并且基于龍芯平臺的系統(tǒng)可以滿足不同的應(yīng)用場景。
附圖說明
圖1為根據(jù)本發(fā)明的一個實施例的基于龍芯平臺的系統(tǒng)性能調(diào)優(yōu)方法的流程圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,下面結(jié)合附圖,對本發(fā)明進行進一步詳細說明。應(yīng)當理解的是,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
圖1示出了根據(jù)本發(fā)明一個實施例的基于龍芯平臺的系統(tǒng)性能調(diào)優(yōu)方法的流程圖。如圖1所示,方法開始于框s101。在框s101,進入龍芯平臺操作系統(tǒng),打開終端,在終端中輸入以下命令:cat/sys/block/sda/queue/scheduler,即可查看系統(tǒng)中正在處理系統(tǒng)i/o的調(diào)度器,方法前進到框s102。在框s102,動態(tài)更改系統(tǒng)的i/o調(diào)度器,以選擇可以為需求帶來最佳性能的調(diào)度器,例如,在終端中輸入以下命令:echonoop>/sys/block/sda/queue/scheduler,即可將系統(tǒng)的當前調(diào)度器設(shè)定為noop調(diào)度器,此更改可以在不重新啟動計算機的情況下生效,且更改完成后,i/o調(diào)度器將會立即切換,此時用戶可以查看系統(tǒng)性能是否提高,然后,方法前進到框s103。在框s103,在選定i/o調(diào)度器之后,可以通過編輯/boot/boot.cfg文件,修改系統(tǒng)內(nèi)核引導參數(shù)并加入“elevator=調(diào)度器名稱”來永久更改i/o調(diào)度算法,方法前進到框s104。在框s104,對所選定的i/o調(diào)度器的相關(guān)參數(shù)以及磁盤相關(guān)的內(nèi)核參數(shù)/proc/sys/vm/dirty_expire_centisecs等進行修改,以對系統(tǒng)性能進一步調(diào)優(yōu),方法前進到框s105。在框s105,使用dd命令進行讀寫測試,以確定系統(tǒng)性能是否提升,具體為:在終端命令行中輸入命令ddif=/dev/sda1of=/dev/nullbs=2mcount=300,ddif=/dev/zeroof=/tmp/testbs=2mcount=300。方法結(jié)束。
根據(jù)本發(fā)明的另一個實施例,設(shè)計了一種基于龍芯平臺的系統(tǒng)性能調(diào)優(yōu)裝置。該裝置包括依次通信地連接的以下裝置:用于確定系統(tǒng)中正在使用的i/o調(diào)度器的裝置、動態(tài)修改i/o調(diào)度器以選擇為需求帶來最佳性能的調(diào)度器的裝置、修改系統(tǒng)內(nèi)核引導參數(shù)以永久更改i/o調(diào)度器的裝置、通過修改選定的i/o調(diào)度器的相關(guān)參數(shù)以進一步調(diào)優(yōu)系統(tǒng)性能的裝置、通過修改磁盤相關(guān)的內(nèi)核參數(shù)以進一步調(diào)優(yōu)系統(tǒng)性能的裝置、以及使用命令來進行讀寫測試以確定系統(tǒng)性能的提升的裝置。
關(guān)于這里所述的過程、系統(tǒng)、方法等,應(yīng)理解的是雖然這樣的過程等的步驟描述為按照一定的順序排列發(fā)生,但這樣的過程可以采用以這里描述的順序之外的順序完成的描述的步驟實施操作。進一步應(yīng)該理解的是,某些步驟可以同時執(zhí)行,可以添加其他步驟,或者可以省略這里所述的某些步驟。換言之,這里的過程的描述提供用于說明某些實施例的目的,并且不應(yīng)該以任何方式解釋為限制要求保護的發(fā)明。
相應(yīng)地,應(yīng)理解的是上面的描述的目的是說明而不是限制。在閱讀上面的描述時,除了提供的示例外許多實施例和應(yīng)用都是顯而易見的。本發(fā)明的范圍應(yīng)參照所附權(quán)利要求以及與權(quán)利要求所要求的權(quán)利等效的全部范圍而確定,而不是參照上面的說明而確定??梢灶A(yù)期的是這里所討論的領(lǐng)域?qū)⒊霈F(xiàn)進一步的發(fā)展,并且所公開的系統(tǒng)和方法將可以結(jié)合到這樣的未來的實施例中??傊?,應(yīng)理解的是本發(fā)明能夠進行修正和變化。
還應(yīng)當理解的是,任何所述的過程或所述過程中的步驟可以與其它公開的過程或步驟組合以形成本公開范圍內(nèi)的結(jié)構(gòu)。本文公開的示例性結(jié)構(gòu)、和過程是為了說明的目的,而不應(yīng)被解釋為限制。