http://www.kernel.org/doc/man-pages/online/pages/man5/proc.5.html で書かれているように、/proc/[pid]配下から実行中のプロセスについての情報を取得できる。 CPU利用率ビューアーでは、/proc/[pid]/statの項目にあるプロセスのtick単位の実行時間(utime/stime)を使用した。
static private long getTick(int pid) {
try {
String filename = "/proc/" + pid + "/stat";
String stat = load(filename);
String[] split = stat.split(" +");
return Integer.parseInt(split[13]) + Long.parseLong(split[14]);
} catch (Exception e) {
return 0;
}
}
static private String load(String filename) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(filename)));
String str = reader.readLine();
if (str == null) return null;
reader.close();
return str;
} catch (Exception e) {
}
return null;
}
0 件のコメント:
コメントを投稿