web-dev-qa-db-ja.com

端末プロセスの実行時間を測定するにはどうすればよいですか?

私はコマンドライン経由で呼び出すプロセスの実行時間を測定しようとしています(つまり、プロセスが終了するまでにどれくらい時間がかかるかを知りたいです)。これを達成するプロセスを呼び出すコマンドに追加できるコマンドはありますか?

158
user848635

測定するコマンドの前にtimeを追加します。例:time ls

出力は次のようになります。

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

realuser、およびsysの説明(man timeから):

  • real:プロセスが使用した経過実時間(ウォールクロック)(秒単位)。
  • user:プロセスが(ユーザーモードで)直接使用したCPU秒の合計数(秒単位)。
  • sys:プロセス(カーネルモード)のためにシステムが使用するCPU秒の合計数(秒単位)。
195
ninjalj

行ごとのデルタ測定については、 gnomon を試してください。

タイムスタンプ情報を別のコマンドの標準出力の先頭に追加するのは、moreutilsのtsに少し似たコマンドラインユーティリティです。長時間かかっているプロセスの履歴記録が必要な長時間実行プロセスに役立ちます。

Gnomonに何かをパイプすると、各行にタイムスタンプが追加され、その行がバッファーの最後の行だった時間、つまり、次の行が表示されるのにかかった時間が示されます。デフォルトでは、gnomonは各行間の経過秒数を表示しますが、これは構成可能です。

gnomon demo

41
Janus Troelsen

timeを使用できます:

time ls -R
25
William Niu
date +"%T" && cp -r ./file  /destination/folder/here && date +"%T"

ターミナルでこのコマンドを実行すると、ファイルをコピーするための合計時間がわかります

8
user314473

時々、アプリの起動などのアクションにかかる時間をカウントするためにストップウォッチが必要になることがあります。この場合、ここでのソリューションの多くは役に立ちません。

これには sw を使用します。

sw

インストール

wget -q -O - http://git.io/sinister | sh -s -- -u https://raw.githubusercontent.com/coryfklein/sw/master/sw

使用法

sw
 - start a stopwatch from 0, save start time in ~/.sw
sw [-r|--resume]
 - start a stopwatch from the last saved start time (or current time if no last saved start time exists)
 - "-r" stands for --resume
4
Cory Klein
time -v command

-vは詳細情報を提供します

0
Himanshu Mishra