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