実際のウォールクロック時間と比較して、CPU処理時間が重要なのはなぜですか?


1

コマンドtime 7zr a -mx=9 sample.7z sample.logを実行して、1GBを超えるファイルを圧縮するのにかかる時間を測定しています。私が得た結果は次のとおりです。

real    10m40.156s
user    17m38.862s
sys     0m5.944s

私は違いの基本的な理解を持っていますが、これがファイルを圧縮する時間にどのように役割を果たすかを理解していません。たとえば、realまたはuser+を見る必要がありsysますか?


あなたが見ているべきものをどのように伝えることができますか?あなたが何を知りたいのかわかりません。
デビッドシュワルツ

@David Schwartz-特に大きなファイルを圧縮するときに使用される一般的なメトリックが何であるかを知りたい。速度が本質ですが、CPUがリアルタイムに影響を与えることを考えると、どの結果が正確になるかはわかりません。
PeanutsMonkey

回答:


4

あなたにとって重要なのが壁時計の時間でrealある場合、注目すべき指標です。

userそしてsysCPUは、実際にユーザランドでは、カーネルで忙しかったどのくらいの時間を示すためにあります。あなたの例でuser+sysreal7zrコマンドがマルチスレッドであり、複数のコア/ CPUを使用できるため、より大きいです。


感謝するために、正確な数字を引用することで、まだ混乱しています。たとえば、圧縮にかかる時間は非常に重要ですが、CPUが他のリクエストの処理でビジーな場合、これは実時間に影響します。私の仮定はイエスですが、これuser+sysは時間の正確な表現ではなく、それが意味するのrealでしょうか?また、複数のコアまたはCPUでそのことを確認できたことにも驚かされます。どうやってそれを伝えますか?また、コマンドラインを介してコマンドがマルチスレッドであるかどうかをどのように知るのですか?
PeanutsMonkey

2
すべての数値は正確です。彼らは互いに反対しません。それらは単に異なるものを表しています。それはより論理的な説明であるため、私は単一のCPU以上があることを伝えることができました。シングルコアシステムでは、user + sys時間は常にリアルタイムよりも小さくなります。このコマンドですべてのマルチスレッドプロセスを表示できますps -eo pid,nlwp,comm | awk '$2 > 1'
jlliagre

それでは、どのシナリオで使用realuser + sysますか?複数のCPUまたはコアがある場合、なぜuser+sysより大きいrealでしょうか?
PeanutsMonkey

各コア/ CPUで費やされる時間、つまり1時間でクアッドコアCPUは最大4時間の作業を追加できます。一方、他のプロセスがCPUをめぐって競合する場合があるため、タスクを完了するためのリアルタイム時間が長くなる可能性があります。
-jlliagre

ここにn00bで申し訳ありませんが、私はあなたが何を意味するのかよくわかりませんThe time spent by each core/cpu do add, i.e. in 1 hour of time, a quad core CPU can produce up to 4 hours of work
-PeanutsMonkey
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.