web-dev-qa-db-ja.com

ユーザーCPU時間とシステムCPU時間

「ユーザーCPU時間」と「システムCPU時間」について詳しく説明してください。私はたくさん読みましたが、よく理解できませんでした。

68
user472221

違いは、時間をユーザー空間で費やすかカーネル空間で費やすかです。ユーザーCPU時間は、プログラムのコード(またはライブラリ内のコード)を実行するプロセッサーで費やされる時間です。システムCPU時間は、プログラムに代わってオペレーティングシステムカーネルでコードを実行するのに費やした時間です。

52

「ユーザーCPU時間」という用語は、最初は少し誤解を招く可能性があります。明らかに、合計時間(実際のCPU時間)は、CPUがプログラムに対して何らかのアクションを実行するのに費やす時間と、CPUがプログラムの代わりにカーネルのシステムコールを実行するのに費やす時間の組み合わせです。プログラムが配列をループすると、ユーザーのCPU時間を累積します。逆に、プログラムがexecやforkなどのシステムコールを実行すると、システムのCPU時間を累積します。

20
user3407861

ユーザーCPU時間:プロセッサーが特定のプログラムで動作した時間。

システムCPU時間:その特定のプログラムに接続されたオペレーティングシステムの機能でプロセッサが動作した時間。

16
N Randhawa

wikipedia に基づく:

  • ユーザー時間は、ユーザー空間でCPUがコードの実行に忙しかった時間です。
  • システム時間は、CPUがカーネル空間でコードの実行に忙しかった時間です。この値がスレッドまたはプロセスについて報告されている場合、それは、たとえばスレッドがシステムコールを発行した後など、実行コンテキストに代わってカーネルが作業を行っていた時間を表します。
4
keypress