Android 台灣中文網

標題: Governor和I/O Scheduler簡介 [打印本頁]

作者: sharonliu    時間: 2013-5-3 19:14
標題: Governor和I/O Scheduler簡介
本帖最後由 sharonliu 於 2013-5-3 19:32 編輯

我剛解鎖一個月,之前對Governor和I/O Scheduler不是很了解
所以整理了一些網路上的資料給新手們知道大概每一個設定的基本功能為何
如果有任何解釋錯誤或觀念不正確的話
歡迎高手前輩指教並提供相關的經驗,給大家做為日後搭配的參考


Governor
Linux Kernel核心預設的電源管理模式中,有各種不同的CPU頻率管理模式,Android也延續了大多數的CPU管理模式。後來衍生出不少Android專用的CPU管理模式,而Governor就是系統預設的CPU頻率管理模式。下面整理一些常見的Governor,日後會在繼續增修相關內容。

【ondemand】
多數的官方內核預設值都選擇這個,按照程式系統的需要調整cpu頻率,不使用時將cpu控制維持在最低頻率,
觸控螢幕時或開啟程式時會快速的將頻率提升到最高,不用的時候降至最低,性能和省電效果普通。

【powersave】
將cpu控制維持在最低頻率。

【performance】
將cpu控制維持在最高頻率。

【userspace】
嚴格來說它並不是一個模式,是允許非內核進程控制cpu頻率的設置,多數xda上的高手都建議,不要採用此種模式。

【conservative】
類似ondemand控制模式,但提升cpu頻率的速度比較慢,不用的時候降cpu的頻率比較迅速,性能表現略低一些,省電效果比ondemand好一些。

【interactive】
使用手機時會直接將頻率提升到最高,對用戶的操作反應速度比較快,不使用時慢慢的降至最低頻率。

【interactivex】
interactive的改良版,更為省電。

【hotplug】
與ondemand模式相同,但在不使用時會關閉多餘的核心。

【smartass】
interactive的改良版版,更為省電。依據使用者操作習慣智能提供一個比較中間值的頻率,不用的時候降頻率,螢幕鎖屏狀態時維持固定頻率。

【smartassv2】
smartass改良版。

【smoothass】
比smartass更積極的調整cpu的頻率變化。

【savagedzen】
與smartass類似的模式,在省電效果和性能的平衡性比較好一些。

【minmax】
類似conservative的模式,省電效果比smartassv2低一些,但性能表現好一點。

【scary】
以conservative模式為主,但也有smartass模式的功能。

【lagfree】
類似conservative模式,頻率提升比較緩慢,使用者觸控螢幕螢後會直接提升到一個適合的頻率,減少延遲的現象。

【intellidemand】
會依據GPU的使用狀況調整cpu頻率,耗費較多GPU資源的時候,會迅速將cpu頻率提升到最高;當GPU使用比較少時會自動限制cpu的最高頻率。

【LazyLazy】
與Ondemand類似,但頻率變化的速度比較慢。

【ondemandq】
與ondemand模式相同,但當螢幕是關閉的狀態時會關閉多餘不用的核心只保留一個核心。


I/O Scheduler
經由不同的設定,來達到調整磁碟存取(I/O)模式

【noop】
可以算是最基本且簡化的Scheduler,主要應用於一些較為特別的軟體與硬體搭配操作的環境中,
且這些軟/硬體已經具備有自己的I/O存取機制,且對於系統核心的要求較少,這樣的Scheduler比較適合運用在嵌入式的環境系統中。

【cfq】
針對硬碟與系統應用所需要的所有I/O任務,均分配給相同的佇列順序(Queuing),
這樣的Scheduler最適合用於一般使用者桌上型電腦的操作環境,自從Linux Kernel 2.6.18以後
都以CFQ做為預設的 I/O scheduler。Sony的官方核心也是以cfq為預設值。

【deadline】
它會針對磁碟中經常遭到存取的不同應用程式,記錄並製作符合最小延遲時間的佇列順序,這樣的結果對於資料庫系統能提供更加的存取效率。

【vr】
具有和deadline相似的操作排序機制,有著最高的峰值讀寫速度,但是性能比較不穩定,也就是說可能跑出最高的分數,但是也會出現最低值。

【sio】
基於deadline,但和noop一樣,不會對io操作進行排序,所以有著noop那樣快速的存取速度,但並沒有過多優化io操作。如果不喜歡noop完全不參與調度,也可以選擇這個。


根據xda的高手droidphile的經驗,比較推薦的設定值順序為SIO > Noop > Deadline > VR > BFQ > CFQ,但實際的效果還是會因為如第三方核心,不同的ROM,Governor的搭配等因素而有差別,還是要你自己去找出最適合的組合
備註:
Kernel Governors, Modules, I/O Schedulers, CPU Tweaks, AIO App Configs
測試說明: 從Linux硬碟效能調校回觀I/O Scheduler以及Readahead Cache
【科普】CPU調速器和I/O調度詳解,終於全部找到了!
setcpu中的cpu调节模式和io调度模式详解
因為引用的參考的文章很多且很雜亂,所以只列出幾個主要的網站來源
如果您覺得此篇文章內容有侵犯到你的權益,麻請告知我會盡快處理
如果這篇文章對你有收穫幫助的話請記得按評分支持喔


作者: leo870319    時間: 2013-7-27 04:53
真的太棒了!! 以前因為英文不好對這方面都是一知半解 現在終於懂了!!
作者: jianxin2101    時間: 2013-8-7 21:26
該用戶還沒有設置簽名,暫不外售!
作者: jimmy3pc    時間: 2013-10-21 17:05
非常實用的文章,能提供分想太棒了。
作者: jim261jim261    時間: 2013-12-1 22:23
之前做的小論文也發現SIO最好@@(從速度與穩定性看)
作者: a19990609    時間: 2014-3-23 17:49
感謝分享,看那只有1.2mb的寫入速度,我把他弄成deadline後,變6mb呢




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1