Android端末のCPUの動作状況を表示するツールCPU Spy


Androidに限らずモバイル機能は、バッテリー消費を抑えるために、CPUの動作周波数を自動的に変更するようになっています。動作周波数が高いと、きびきびと動作しますが、その代わりに電力をたくさん使います。ですから、CPUが行なう処理が少なくなると、動作周波数を低くして消費電力を抑えてバッテリーを長持ちさせようとします。

どんな感じで周波数の切り替えが行なわれているのかを知りたいと思うのが人情です。調べてみると、CPU Spyというソフトを使えば、各周波数での実行時間の割合を表示することができることがわかりました。

そこで、このCPU Spyをインストールしてみました。

CPU Spy(Google Play)

使い方は簡単で、CPU Spyを起動すると、各周波数での動作時間の割合がグラフで表示されます。

私はAndroid端末を2つ持っています。1つはスマートフォンGalaxy S III Progre、もう1つは7インチタブレットASUS MEMO Pad HD7です。

Galaxy S IIIではこんな感じです。

ASUS MEMO Padではこんな感じです。

Total State Timeが、電源ONあるいはリセット(再起動)からの総経過時間です。

Deep SleepというのはCPUがスリープしている状態で、どちらの端末も約85%の時間はこのモードになっていることがわかります。

Galaxyの方が周波数の段階数が多く、きめ細かく制御しているようです。一方、ASUS MEMO Padは、周波数が4段階しかありません。

また、一番良く使われている周波数は、Galaxyが384MHz(最も低い周波数)であるのに対して、ASUS MEMO Padは1209MHz(最も高い周波数)となっています。(どちらの端末も省電力モードにしています。)

おそらく、7インチタブレットであるASUS MEMO Padの方が、バッテリー容量が大きいので、その分速い周波数で動作させる余裕があるのでしょう。

CPU Spyは3つ設定項目があり、メニューから選択できます。

  • Refreshは、表示する情報を更新します。
  • Reset Timersは、すべての表示項目をゼロにリセットします。つまり、この時点から測定を開始します。
  • Restore Timersは、Reset Timersでリセットした後に、以前に表示したいたデータに戻します。

Emacsにanything.elを導入しました


いまさらながらですが、Emacs 23.3.1にanything.elをインストールしたので、手順をメモしておきます。

1. パッケージをインストールする

M-x auto-install-batchを実行して、パッケージ名としてanythingを入力するとanything.elに必要なファイル(複数)をダウンロードしてくれます。あとはダウンロードしたファイル名が次々と表示されるので、C-c C-cでバイトコンパイルすればインストールされます。

2. .emacsに設定を追加する

次の1行を~/.emacsに追加すると、anything.elが有効になります。

(require 'anything-startup)

3. anythingを起動するキーを設定する

M-x anythingとタイプすると、anything.elを起動されます。しかし、毎回M-x anythingとタイプするのは面倒なので、キーを割り当てましょう。

自分はC-x C-aに割り当ててみました。次の1行を~/.emacsに追加します。

(define-key global-map (kbd "C-x C-a") 'anything)

これでC-x C-aとタイプするとanythingが起動されるようになりました。

とりあえずは特に設定は行なわずに、デフォルトの状態で使っています。この状態では、バッファとファイル(最近使ったファイル、カレントディレクトリのファイル)をサーチするだけですが、これだけでもなかなか便利です。

そのうちanything.elの機能を調べて、いろいろとカスタマイズしていきたいと思います。