マイクロプロセッサー使用率測定のための time コマンドの使用法
単一プログラムとそれに同期している子のパフォーマンス特性を理解するには、time コマンドを使用します。
time コマンドは、プログラムの開始から終了までの経過時間である、real (実) 時間を報告します。 これに加えて、プログラムが使用したマイクロプロセッサー時間も報告します。 マイクロプロセッサー時間は、次のように分割されます。userおよびsys.user値は、プログラム自体およびプログラムが呼び出すライブラリー・サブルーチンによって使用される時間です。 このsys値は、プログラムによって (直接または間接的に) 呼び出されるシステム・コールによって使用される時間です。
以下の合計user+sysプログラムを実行する直接マイクロプロセッサーの合計コストです。 このコストには、プログラムのために実行するということであっても、 実際にはそのスレッドで実行しないカーネルの部分のマイクロプロセッサー・コストは含まれません。 例えば、プログラム開始時にフリー・リストから取ったページ・フレームを置き換えるためのページ・フレームをスチールするコストは、そのプログラムのマイクロプロセッサー使用量の一部としては報告されません。
real - (user + sys)real * number_of_processors - (user + sys)要因は、サイズを減少させるおおよその順序に並べると、次のようになります。
- プログラムのテキストおよびデータの読み込みに必要な入出力
- プログラムで使用するための実メモリーの獲得に必要な入出力
- その他のプログラムが消費するマイクロプロセッサー時間
- オペレーティング・システムが消費するマイクロプロセッサー時間
# time looper
real 0m3.58s
user 0m3.16s
sys 0m0.04s# time nice -n 10 looper
real 0m6.54s
user 0m3.17s
sys 0m0.03s# nice -n 10 time looperksh シェルに組み込まれている、使用していた time コマンドのバージョンではなく、より精度の低いレポートを持つ別の time コマンド (/usr/bin/time) を取得することになります。 time コマンドが最初に来た場合は、完全修飾名の /usr/bin/time を指定しなければ、 組み込みバージョンになります。 別のコマンドから time コマンドを呼び出した場合は、/usr/bin/time が得られます。