LinuxでプロセスのシステムCPU時間とユーザーCPU時間を計算する

LinuxでプロセスのシステムCPU時間とユーザーCPU時間を計算する

.NET Frameworkに存在する統計を使用して、システムモードとユーザーモードで特定のプロセスのCPU時間消費を計算したいと思います/proc/<PID>

ファイルにはutimeとstimeという2つのフィールドがあり、/proc/<PID>/statその文書には次のように記載されています。

  • utime:このプロセスがユーザーモードでスケジュールされた時間
  • stime:プロセスがカーネル(システム)モードでスケジュールされた時間

次の式を使用して、システムモードでのCPU時間消費を秒単位で計算します。 (stime/clock tick) ユーザーモードでの CPU 時間消費には、次の式を使用します。 (utime/クロックティック数)

atopシステムとユーザーのCPU時間のコマンド出力を確認しましたが、計算が正しくありません。

メモ:プロセスのシステムとユーザーのCPU時間について間違ったフィールドを評価している場合は、お知らせください。それとも正しい計算方法は何ですか?

PS utimeとstimeはCPUクロックティックで表されているため、システムCPU時間とユーザーCPU時間を秒単位で計算するために、このフィールドを1秒あたりのクロックティック数で除算しました。

ベストアンサー1

おすすめ記事