最近、寒くてお腹をくだして・・・・トイレに篭った花水木です。 ^^;
さてさて
AndroidのCPU使用率について、メモして置きます。
1.環境
Windows
Androidの開発環境を設定済み
003SH端末やemulator
2.Android端末orEmulatorで、CPU使用率を調べる
Android端末orEmulatorのCPU使用率を調べた。
その結果、2通りを試すことができました。
2.1カーネルレベルでCPU使用率やメモリ消費容量を取得
 |
adb shell vmstatによる、全プロセスの総合CPU使用率表示 |
このコマンドは仮想メモリの統計をレポートするためのに使用します。
参考サイト
上記サイトよりvmstatのヘッダパラメータ一覧抜粋、
1行目 |
2行目 |
説明 |
procs |
r |
CPUを割り当て中もしくは割り当て可能なプロセスの数。CPUの個数以下であることが望ましい。 |
|
b |
割り込みを禁止しているプロセスの数。I/O待ちなどで割り込み不可能なときに発生。ゼロであることが望ましい。 |
memory |
swpd |
使用している仮想メモリの量(KB) |
|
free |
空きメモリの量(KB) |
|
buff |
バッファキャッシュに使用されているメモリ量(KB) |
|
cache |
ページキャッシュに使用されているメモリ量(KB) |
swap |
si |
ディスクからページインされるメモリの量(KB/秒) |
|
so |
ディスクにページアウトしているメモリの量(KB/秒) |
io |
bi |
ブロックデバイスから受け取ったブロック数(blocks/秒) |
|
bo |
ブロックデバイスに送られたブロック数(blocks/秒) |
system |
in |
1秒あたりの割り込み回数。クロック割り込みも含む。 |
|
cs |
1秒あたりのコンテキストスイッチの回数 |
cpu |
us |
ユーザー時間 |
|
sy |
システム時間 |
|
id |
アイドル時間。I/O待ちは含まない。 |
|
wa |
I/O待ち時間 |
あれ・・・Android端末へvmstatした場合のヘッダパラメータと違う・・・・
Androidにあるvmstatは通常のvmstatと違うということでしょうか?
謎です・・・^^;
何かご存知の方や参考サイトがありましたら教えてください ^^
2.2特定のプロセスIDの使用率を調べる
特定のプロセスIDの使用率を調べる処理をするバッチファイルを作成しました ^^
exeファイルとして公開します。
公開さきはここです。
2.2.1 command_check_cpu_log_on.exe
同階層にlog.txtファイルを生成して、そのファイルへログを追加していくexeファイルです。
 |
起動時の画面 |
 |
検索するパッケージ名に「sample」が含まれるプロセスのデータをlog.txtファイルへ追加します。 |
 |
同階層にlog.txtファイルが作成された事を確認できます。 |
このlog.txtファイルに検索するパッケージ名に対応する結果が追加されています。
2.2.2command_check_cpulog_off.exe
コマンドプロンプト上にログを出力するexeファイルです。
 |
起動時の画面 |
 |
コマンドプロンプト上にCPUの計測値が出力されます。 |
普段、これを使ってCPU使用率を調べています。