・ このブログの記事(テキスト・画像)について

2011年12月2日金曜日

【Android】CPU使用率について

最近、寒くてお腹をくだして・・・・トイレに篭った花水木です。 ^^;

さてさて
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使用率を調べています。

0 件のコメント:

コメントを投稿