2012-01-29 12 views
1

LinuxのプロセスのCPU使用率(ユーザーモード、システムモード、アイドル時間)を計算する必要があります。 ユーザモードとシステムモードで、utimestimeの値を/proc/PID/statの値から計算することはできますが、アイドル時間に関連するものは何も見つかりませんでした。Linuxのプロセスのアイドル時間

私は/proc/statからアイドル時間を得ることができますが、この値は特定のプロセスではなくマシンに関連しています。

PID/procディレクトリからデータを読み取る)を知っているプロセスのアイドル時間は計算できますか?私はそれについて非常に多分、次の作品を知らない

+0

CPUのアイドル時間は、(有用な)コードを実行しなかった時間です。プロセスのアイドル時間は正確に何ですか? – gby

+0

私が間違っていると私を訂正しますが、プロセスCPU使用率(ユーザとシステムモードの両方)が0%のときのプロセスのアイドル時間を理解しています。 –

+0

プロセスがいくつかのスレッドを通していくつかのコアで実行されている時間はどのように数えますか? –

答えて

2

1) Get the process start up time. Im sure thats possible 
2) Generate time difference (dTime = CurrentTime - TimeProcessStarted) 
3) Substract the time the process is running (dTime - (usageSystemMode + usageUserMode)) 

は、この情報がお役に立てば幸い! :D

+0

私はあなたのソリューションがうまくいくと思います:) starttime値を使ってプロセスの起動時間を/ proc/PID/statから取得できます。ありがとう –