プロセスごとの正確な CPU 使用率とプロセスのアイドル CPU 時間を取得するのに苦労しています..「トップ」コマンド proc/[pid]/stat フォルダを試しましたが、まだ運試し中です..
TOP コマンドは、fg(フォアグラウンド) および bg(バックグラウンド) で実行されているすべてのプロセスの CPU 使用率を示しますが、プロセスがバックグラウンドで実行されている場合でも、%CPU 0 が表示されるため、私が感じるほど正確ではありません。仕方?助けてください
プロセスごとの正確な CPU 使用率とプロセスのアイドル CPU 時間を取得するのに苦労しています..「トップ」コマンド proc/[pid]/stat フォルダを試しましたが、まだ運試し中です..
TOP コマンドは、fg(フォアグラウンド) および bg(バックグラウンド) で実行されているすべてのプロセスの CPU 使用率を示しますが、プロセスがバックグラウンドで実行されている場合でも、%CPU 0 が表示されるため、私が感じるほど正確ではありません。仕方?助けてください
私はそれを自分で行う方法を見つけました..私は使用しています
次の方法で CPU 使用率を取得できます。
ArrayList<String> list = new ArrayList<String>();
try {
// -m 10, how many entries you want, -d 1, delay by how much, -n 1,
// number of iterations
Process p = Runtime.getRuntime().exec("top -m 15 -d 1 -n 1");
BufferedReader reader = new BufferedReader(new InputStreamReader(
p.getInputStream()));
int i = 0;
String line = reader.readLine();
while (line != null) {
Log.e("Output " i, line);
list.add(line);
line = reader.readLine();
i ;
}
p.waitFor();
Toast.makeText(getBaseContext(), "Got update",Toast.LENGTH_SHORT)
.show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getBaseContext(), "Caught", Toast.LENGTH_SHORT)
.show();
}