どのプロセスステータスがCPU時間に含まれますか?

どのプロセスステータスがCPU時間に含まれますか?

私の2つの観察事項(間違っている場合は訂正してください):

  • timeプロセスタイミングの出力では、

    「User」と「Sys」は、特定のシステムに応じて待機(2)または時間(2)から来ます。

  • Linuxカーネルでは、プロセスステータス「実行中」と「準備」(つまり、実行キューで実行中と待機中)の両方が表示されますTASK_RUNNING

プロセスのCPU時間に含まれるプロセスの状態は次のとおりです。

  • 「走る」
  • 「準備して」
  • 「実行中」と「準備」、つまりTASK_RUNNING

私の選択は「実行」です。しかし、これが真であれば、TASK_RUNNINGLinuxカーネルは「実行中」と「準備」を区別しないので、timeCPU時間はどのように報告されますか?

答え1

時間を計算するには、プロセッサのチックとプロセッサから無駄なプロセスのチックが重要です。プロセスがプロセッサで費やした時間について話している場合は、ユーザーモードとカーネルモードで実行するときにティックを合計する必要があります。

関連情報