2

私はSeleniumベースのperlTestscriptを多数持っていました。テストが完了すると、次のようにログが出力されます。これは何を指定しますか?以下の時間の計算方法と基準

Files=1, Tests=17, 209 wallclock secs ( 0.13 usr +  0.01 sys =  0.14 CPU)
4

1 に答える 1

7
209 wallclock secs ( 0.13 usr +  0.01 sys =  0.14 CPU)

実行には209秒かかりました。これらの秒は、壁(または手首)の時計に従って経過した時間です。

この時間のほとんどは何かを待つことに費やされてきました。待っている?ええと、CPUは待機に多くの時間を費やしたので、時間が経過している間、CPUは計時されているプログラムで動作していませんでした。実際のCPU時間はわずか0.14秒と報告されているため、これはわかっています。つまり、209秒のほぼすべてが待機していることを意味します。

ユーザーモードで費やされた時間とシステムコールで費やされた時間の間には、さらに区別が必要です。簡単に言うと、前者はCPUがプログラムに適切に費やした時間を指し、後者はCPUがシステムコール(プログラムに代わってオペレーティングシステムに対して行われた呼び出し)の処理に費やした時間を指します。

マルチコアの補遺: @ArtMが指摘したように、またはむしろ私に発見させたように、プログラムが実行されたすべてのコアに対して与えられた時間usrsys累積時間は、合計CPU時間またはいずれか1つでさえある場合があることを意味しますのusrsysはウォールクロック時間よりも長い場合があります。これは奇妙に見えるかもしれませんが、複数のコアでの並列処理について考えると理にかなっています。

usr/sysこの問題、またはユーザーモードカーネルモードの問題について詳しく知りたい場合は、このより包括的な回答をご覧ください。

于 2012-05-16T11:05:36.347 に答える