我一直在努力获得每个进程的准确 CPU 使用率和进程空闲 CPU 时间。我尝试了“top”命令 proc/[pid]/stat 文件夹,但仍在尝试我的运气。
TOP 命令为在 fg(foreground) 和 bg(background) 中运行的所有进程提供 CPU 使用率,但我觉得它并不准确.. 因为它显示 %CPU 0,即使进程在后台运行.. 任何其他方法?请帮忙
我一直在努力获得每个进程的准确 CPU 使用率和进程空闲 CPU 时间。我尝试了“top”命令 proc/[pid]/stat 文件夹,但仍在尝试我的运气。
TOP 命令为在 fg(foreground) 和 bg(background) 中运行的所有进程提供 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();
}