「実際の」時間が「ユーザー」時間と「システム」時間の合計よりはるかに高い理由は何ですか?

「実際の」時間が「ユーザー」時間と「システム」時間の合計よりはるかに高い理由は何ですか?

time私は多くのコマンド(例nslookup:)を実行しSSH、暗黙的なサービスを完了するのに必要な合計時間(例:ドメイン名システム)。だから私はプロセスがブロックされたときに必要ないので時間をuser集めます。おそらく時間は時間を計算します。sysreal

しかし、私のテスト結果のいくつかは次のとおりです。

real 3m22.033s
user 0m0.009s
sys 0m0.014s

リソースが制限されたLinuxシステムでこれらのテストを実行しましたが、realまだ時間がかかりました。これは、ボックスが他のプロセスを実行するのに非常に忙しいことを意味しますか?サービスにかかる時間を知るuserために時間を追加することはまだ正しいですか?sys

ベストアンサー1

本物プロセスが終了するのにかかった合計時間(つまり、開始時間と停止時間の差)。

$ time sleep 3

real    0m3.002s
user    0m0.000s
sys     0m0.000s

このリストにはユーザーそしてシステムそれぞれユーザーモードとカーネルモードで費やされた時間を示します。これら含まれていません非アクティブ状態で過ごした時間眠る状態。プロセスが意図的に要求されると、IO(ネットワーク/ディスクアクセス/ユーザー対話)が利用可能になるのを待つか、システム負荷が非常に高いときに使用可能なCPUが不足すると、プロセスはスリープモードになります。終了する他のプロセス、ETC。

一般的にtime電話wgetすると本物ダウンロードに必要な時間に対応し、ユーザー無視できる必要があります(wget集約的なデータ処理を実行するために必要な場合を除く)。システム小さくなければなりません。 (バッファを処理し、カーネル空間からユーザ空間にデータを前後に移動するのに時間がかかることがあります。)

おすすめ記事