謎の情報発信局

◆実際◆ 基礎知識さえあれば分かる解説で書いてるつもりです。 ◆無能◆

【要root権】クロックチェンジャーアプリ"SetCPU"紹介【若干の解説付】

$1.99払っても使う価値のある"SetCPU"紹介

今回は、CPUのクロックチェンジャーの王道であろうアプリ、SecCPUの紹介とちょっとした解説をします。
本ブログでは初である有料アプリですが、1.99USD*1という結構安い値段で買えます。
(google:1.99USD)

GUI解説

f:id:backslash-root:20160221172256p:plain
CPUの最大クロック・最小クロックとスタートアップ登録の説明は省略

CPU Scaling Governor解説

Q:CPU Scaling Governorって何?
A:LinuxカーネルにおけるCPUの制御方式。
ここではしっかりとした解説はしないので詳細はここを参照。
SetCPUに搭載されているCPU Scaling Governor解説

ondemand 一定の負荷がかかると一気にクロックを上げるモード。
ピークが過ぎると徐々にクロックを落とす。
interactive ondemandのレスポンスを上げたもの。
conservative ondemandのクロック数上昇を穏やかにしたもの。
performance 常時最大クロックで動かす。
powersave 常時最低クロックで動かす。
時々設定値以外で動作するが、恐らく正常な動作。
userspace クロック数を手動で設定する。

平常時は基本interactiveにしておいてプロファイルの設定で(後術)他のモードにするといいでしょう。

I/Oスケジューラー解説

Q:I/Oスケジューラーとは?
A:I/O*2データの処理方式。
やはり解説は殆どしないので詳細はここを参照。(英語につき注意)
SetCPUに搭載しているI/Oスケジューラー解説

noop 読み書きの並び替えをするくらいで他は何もしない。PCで使うのでなければスマホタブレットフラッシュメモリが記憶装置になるのでこれが向いているとか。
deadline 締め切り方式。読み書きが両方出来る状態で待機して待ち時間に特化させた方式。これも相性がいいとの話。
row READ Over WRITEの略。モバイルデバイス向けに開発されたらしい。(ここを参照)処理に優先順位を付けて高速化を図る。
cfq 読み込みと書き込みの処理が偏らないようにする方式。
モバイルデバイスだと不向きかもしれない。
test-iosched 2つの異なるキューを使い、独自のコールバックを提供するとのこと。(ここを参照)

基本的にはnoopでいいと思う。rowとioshedは未検証

プロファイル機能解説

個人的にSetCPUで一番気に入っている機能のプロファイル機能。
f:id:backslash-root:20160311190708j:plain
上にあるプロファイル(プロファイルIDが大きい)のほうが優先度は高いみたい。
設定条件解説

App - Apps 指定したアプリが起動している時に発動
App - Launcher apps ランチャーアプリ*3が選択されている時に発動(だと思う)
Battery Level 電池残量が指定値になっている時に発動
超過、未満、以下、以上、同値、非同値がある。
Battery Temperature バッテリー温度が指定値になっていると発動。
指定条件は電池残量と同じ。
Charging State 充電状態が設定値になっていれば発動。
条件は全て、ACアダプタ使用、USB接続、無接点充電。
CPU Temperature CPU温度が指定値になっていると発動。
指定条件は電池残量と同じ。
Screen On/Off 画面が点いてるor消えてるかを条件にする。
Screen Unlocked ロックが解除されている時を条件にする。
Call State 電話中or電話していない状態を条件にする。
Time Range 指定した時刻の間を条件にする。
12時間表記で指定。
Day of Week 曜日を条件にする。複数選択可。
All of these are true このツリーにある条件が全て成立すると発動。AND条件。
Any of these are true このツリーにある条件が1つでも成立すると発動。OR条件。
None of these are true このツリーにある条件が全て成立しないと発動。NAND条件。

恐らく演算子で括らなかったものはANDとして扱われる。(多分)
クロック数の設定画面ではクロック数以外に、CPU Scaling Governor、I/Oスケジューラーの設定も可。
Show a notificationを有効にすると発動時に通知が出る。
Persistentで通知を強制できる(と思う)。
最後のページではプロファイルの名前(日本語可)、プロファイルIDを設定できる。
Make this profile exclusiveで条件成立時に優先的にこのプロファイルに切り替えるようにする。

このアプリは結構便利ですのでroot化したら導入を検討してみては?

*1:USDは米ドルの略

*2:I/Oとはinput/outputの略

*3:ホーム画面のアプリ