SetCPUの使い方の簡単なメモです。詳細な記述はこちらにあります(英語)。
SetCPU は Android端末のCPUのクロックを制御するツールで、ルート権限が必要。不必要な時にCPUのクロックを落とすことでバッテリーを節約することができる。マーケットから有料($1.99)で入手できる。(XDAからダウンロードもできるのですが、マーケットから購入してあげるのがいいと思います)
基本的な使い方
ウィジェット設定画面
最初に起動したときは、メッセージに従ってCPUの設定を行う。次からは直接Mainタブが現れる。Mainタブで、CPUクロックの最大値と最小値をスライダーで手動で設定することができる。CPUクロックは最大値と最小値の間を上下するが、Scaliing の値で上下のさせ方をコントロールできる。
SetCPUはWidgetとしてHomeスクリーンに置くことが出来る。他のウィジェットと同様に、ホームアプリの画面を長押ししメニューから選択する。このときウィジェットの設定画面が現れる。現在のCPUクロックを表示させたいときは、Active Refresh Intervalの値を Passive 以外に設定する。ただし、Passiveのほうがバッテリーの節約になる。
プロファイル
プロファイル
ProfileタブでEnableにチェックを入れて、プロファイルを追加し、いろいろな条件下でCPUクロックを制御することができる。プロファイルの条件として指定できるものは以下の通り。
・App:アプリ名
・Battery Level:バッテリーレベルのしきい値(%)と指定レベル以下、以上などの条件
・Battery Temperature: バッテリー温度と指定温度以下、以上などの条件
・CPU Temperature: OMAP4など対応している場合のみ。
・Charging State:充電方法(AC,USB,両方)
・Screen On/Off:画面On/Off
・Screen Unlocked: 画面がロックされているかどうか
・Call State: 通話中かどうか
・Time Range:指定した開始/終了時刻の間
・Day of Week:曜日
また、上記の条件のAND, OR, NOTの組み合わせで複数条件からなるプロファイルを作成できる。
プロファイルは優先順を指定できる。複数のプロファイルの条件が満たされたときは優先順の高い方を適用する。バッテリーレベルや温度を条件としたプロファイルを複数追加する場合は優先度に注意が必要である。
各プロファイルは exclusive かどうかを指定できる。non-exclusive にした場合、それより優先度の低いプロファイルの実行をブロックしない。
ちなみに、ガバナーによっては画面Off時のCPU周波数設定が組み込まれているものもある。例えば、lulzactiveの場合、画面Off時にはミニマム周波数に自動的に固定されるので、画面Off時のプロファイルをわざわざ設定する必要は無い。
画面Off時のプロファイルを作成して画面On時と異なるガバナーを設定する場合、ディープスリープ状態から復帰しなくなることがあるらしい。画面Off時の周波数上限値を設定しているガバナー同士の組み合わせは良くないらしい。
Advanced タブ
lulzactiveの場合のGovernorタブ画面
Governorタブで設定中のGovernorのより詳細な制御ができる。設定項目はGovernorによって異なる。
この画面での設定を端末起動時に適用するためには Set on Boot にチェックを入れる。MainタブのSet on Boot設定とは独立している。
Infoタブ
Infoタブ画面
Infoタブはカーネル、CPU、バッテリー、端末、メモリなどの情報を表示する。また、簡単なベンチマークを走らせることもできる。
Time in Stateでは、CPUの各周波数毎の時間の割合が表示される。
CPU Scaling Governors
CPU Scaling Governors はどのようにCPUクロックをコントロールするかを指定する。ほとんどのカーネルは、ondemand と performance に対応している。以下の値が利用できる。
・ondemand: ほとんどのカーネルで使用できる。CPU負荷が一定値以上になるとCPUクロックを上げる。不要になったら徐々に下げる。
・interactive: 最近のカーネルでりようできる。機能的には ondemandと同様だが、レスポンスを重視している。
・conservative: いくつかのカーネルで使用できる。ondemandに似ているが、より段階的に上下させる。ondemand に比べるとCPUクロック制御の反応が緩やかだが、バッテリーの節約になる。
・performance:ほとんどのカーネルで使用できる。常にCPUクロックの最大値をキープする。CPU負荷をスキャンしないですむ分、設定でMaxとMinを同じ値にしておくよりも効率がよい。
・powersave:いくつかのカーネルで使用できる。常にCPUクロックの最小値をキープする。
・userspace:現在、SetCPUでは使用していない。設定しないこと。
・smartass:いくつかのカスタムROMで使用している。効率的な自動スクリーンOFF機能があり、端末のアイドル時にCPUクロックの最小値をキープする。
ガバナーについては、結局、CPUガバナーはどれがいいのか も参考にしてください。
IO Scheduler
MainタブのIO Scheduler メニューで、Android OSがIO(入出力)要求をどのように処理するかについての方式を選ぶことができます。
io scheduler はどれにしたらいいの? を参考にしてください。
タスクマネージャ
SetCPUはプロファイルやウィジェットを使わない限り、バックグラウンドサービスを走らせない。プロファイルやウィジェットを使う場合は、タスクマネージャがバックグラウンドサービスを殺してしまわないように Ignoreリストに入れておくこと。
Voltageタブ
電圧設定用タブ
カーネルが対応していれば、Voltageタブで電圧の設定をすることができます。各周波数における電圧を設定します。安定して動く範囲内で電圧を下げることによってバッテリーの節約になります。