壁時計時間、ユーザー時間、CPU時間の違いは何ですか


14

GridEngineを使用してコンピューティングジョブを実行しています。すべてのジョブは3つの異なる時間を返します。

  • 壁時計時間
  • ユーザー時間
  • CPU時間

これら3つの違いは何ですか?これら3つのうち、2つのアプリケーション/スクリプトのパフォーマンスを比較するのに最適なものはどれですか

回答:


18

実時間は、ジョブを実行するのにかかる実際の時間です。これは、ストップウォッチを使用してジョブのタイミングを計ることに相当し、タスクを完了するための測定時間は、システムがその時点で実行している他のすべての影響を受ける可能性があります。

ユーザー時間は、CPUが実行して過ごした時間の量を測定、あなたのコードを。これは、実行中の可能性のある他のものをカウントせず、カーネルで費やされたCPU時間もカウントしません(ファイルI / Oなど)。

CPU時間は、CPUがコードまたはコードによって要求されたものを実行するのに費やした合計時間を測定します。これにはカーネル時間が含まれます。

「ユーザー時間」の測定は、システムで発生する他の事象による影響が最も少ないため、さまざまなジョブのパフォーマンスを測定するのにおそらく最適です。


3

ウィキペディアから:

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

ウォールクロック時間は、コンピューターがタスクを完了するのにかかった実際の時間です。CPU時間、I / O時間、通信チャネル遅延(データが複数のマシンに散在している場合など)の3つの用語の合計です。プロセッサが特定のタスクでアクティブに作業している時間のみを測定するCPU時間とは対照的に、ウォール時間はプロセスが完了するまでの合計時間を測定します。2つの違いは、プログラムされた遅延またはリソースが利用可能になるのを待つために経過する時間で構成されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.