さてさて
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 件のコメント:
コメントを投稿