連載
» 2018年10月19日 05時00分 公開

Linux基本コマンドTips(251):【 time 】コマンド(bash)――コマンドの実行時間を計測する

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、指定したコマンドの実行時間を計測する「time」コマンドです。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、指定したコマンドの実行時間を計測する「time」コマンドです。

timeコマンドとは?

 「time」は実行時間を計測して表示するコマンドです。「time コマンド名」で指定したコマンドの実行にかかった時間を表示します。

 今回取り上げたtimeコマンドはbashの内部コマンドです。同名の外部コマンド(/usr/bin/time)が存在しますが、コマンドラインで「time」を実行すると、内部コマンドの方を実行します(連載第252回)。



timeコマンドの書式

time [オプション] コマンド名

※[ ]は省略可能な引数を示しています。





timeの主なオプション

短いオプション 意味
-p 時間をPOSIX形式で表示する


コマンドの実行時間を計測する

 「time コマンド名」でコマンドの実行にかかった時間を表示します。

 計測したいコマンドにオプションや引数がある場合、引用符などを付ける必要はありません。例えば「ls」を実行する時間の計測であれば「time ls」と指定し、「ls -l /」であれば「time ls -l /」のように指定します。

 timeコマンドを実行すると、3種類の時間「real」「user」「sys」を順に表示します。

  • real 指定したコマンドを実行するためにかかった時間
  • user 指定したコマンドを実行するため使用したユーザーCPU時間
  • sys 指定したコマンドを実行するために使ったシステムCPU時間

 画面1では3種類のコマンドの実行時間を計測しています。上から順にxzコマンド(ファイルを圧縮するコマンド、第249回)、findコマンド(ファイルを探すコマンド、第31回)、sleepコマンド(指定した秒数だけ待機するコマンド、第66回)です。

 コマンドによって、実行時間に特徴が表れました。xzコマンドはトータルでかかっている時間(real)に占めるユーザーCPU時間の比率が高く、圧縮処理のためにユーザーCPU時間を消費していると推測できます。

 findコマンドではファイルシステムにアクセスするためにシステムCPU時間を消費しており、sleepコマンドは、待機している間はCPUを使っていないと推測できるでしょう。

コマンド実行例

time コマンド名

(コマンドの実行にかかった時間を表示する)


画面1 画面1 指定したコマンドの実行時間を表示したところ


出力フォーマットを変更する

 「time -p コマンド名」とすると、計測した時間を特定の形式(POSIX形式)で出力します。具体的にはreal、user、sysの秒数をそれぞれ数字だけで表示します。

 これ以外の形式で表示したい場合は、シェル変数「TIMEFORMAT」を使用します。

書式 意味
%R 経過時間(realの秒数、※1)
%U ユーザーCPU時間(userの秒数)
%S システムCPU時間(sysの秒数)
%P CPU使用率、計算式は(%U + %S) / %R
%% %という文字

※1 %R、%U、%Sは「%2R」のように、小数点以下の桁数(最大3桁)を指定可能。「%2lR」のように「l」を指定するとロングフォーマットで表示する。桁数を省略した場合や3以上を指定した場合は3桁として扱う。



画面2 画面2 さまざまな形式でコマンドの実行時間を表示したところ


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。