#include <unistd.h>#include <jni.h> jlong Java_com_appspot_takuyaandroid_tcpuuseratewatcher_TUserHzJni_getUserHz(JNIEnv *env, jobject obj) { return sysconf(_SC_CLK_TCK); }
IT系リサーチャー。最近はブロックチェーン関連に従事。 2019年の再開後は、技術系の話を書こうかね。 2014年以前は、競馬予想ソフト、絵本とAndroid Marketに公開したアプリの話がメインの日常をつづったブログだった。
2011年8月29日月曜日
CPU使用率の計算方法4 (USER_HZの取得)
CPU使用率の計算方法1, 2で書いたように、/proc/[pid]/stat, /proc/statから取得できる実行時間の単位はtickである。 http://www.kernel.org/doc/man-pages/online/pages/man5/proc.5.html を参考にすると、sysconf(_SC_CLK_TCK)を使って取得したUSER_HZで実時間に変換できることがわかる。具体的には、実行時間をsysconf(_SC_CLK_TCK)で割ることで、秒単位に変換することができる。しかし、USER_HZを取得するためのJava用のAPIはないようだ。多くのAndroidシステムのUSER_HZは100のようだが、異なるものも存在する。したがって、CPU利用率ビューアーではJNI経由で値を取得した。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿