私の2つの観察事項(間違っている場合は訂正してください):
time
プロセスタイミングの出力では、「User」と「Sys」は、特定のシステムに応じて待機(2)または時間(2)から来ます。
Linuxカーネルでは、プロセスステータス「実行中」と「準備」(つまり、実行キューで実行中と待機中)の両方が表示されます
TASK_RUNNING
。
プロセスのCPU時間に含まれるプロセスの状態は次のとおりです。
- 「走る」
- 「準備して」
- 「実行中」と「準備」、つまり
TASK_RUNNING
?
私の選択は「実行」です。しかし、これが真であれば、TASK_RUNNING
Linuxカーネルは「実行中」と「準備」を区別しないので、time
CPU時間はどのように報告されますか?
答え1
時間を計算するには、プロセッサのチックとプロセッサから無駄なプロセスのチックが重要です。プロセスがプロセッサで費やした時間について話している場合は、ユーザーモードとカーネルモードで実行するときにティックを合計する必要があります。