English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Linux timeコマンド

Linux コマンド大全

Linuxのtimeコマンドの用途は、特定のコマンドの実行に要する時間とシステムリソースなどの情報を測定することです。

例えば、CPU時間、メモリ、入出力などが含まれます。特に注意すべき点は、Linuxでは一部の情報が表示されないことです。これは、Linuxで一部のリソースの割り当て関数がtimeコマンドの前提条件と異なるため、timeコマンドがこれらの情報を取得できないためです。

语法

time [options] COMMAND [arguments]

パラメータ

  • -o または --output=FILE:結果の出力ファイルを設定します。このオプションでは、timeの出力が指定されたファイルに書き込まれます。ファイルが既に存在する場合、システムはその内容を上書きします。
  • -a または --append: -o 使用すると、結果がファイルの最後に書き込まれ、元の内容を上書きしません。
  • -f FORMAT または --format=FORMAT:FORMAT文字列で表示形式を設定します。このオプションが設定されていない場合、システムのデフォルトのフォーマットが使用されますが、環境変数timeを使用してこの形式を設定することで、システムに再ログインするたびに設定する必要はありません。

timeコマンドは表示できるリソースが4つの大項目に分かれています。それは

  • 時間リソース
  • メモリリソース
  • IOリソース
  • コマンド情報

詳細な内容は以下の通りです

1、時間リソース

E コマンド実行に費やされる時間、フォーマットは:[時間]:分:秒です。この数字は実際のCPU時間を示しません。

e コマンド実行に費やされる時間、単位は秒です。この数字は実際のCPU時間を示しません。

S コマンド実行時のコアモードでの使用時間、単位は秒です。

U コマンド実行時のユーザーモードでの使用時間、単位は秒です。

P 実行コマンド時のCPUの使用率。この数字は、コアモードとユーザーモードのCPU時間を合計時間で割ったものです。

2、メモリリソース

M 実行時の実体メモリの最大使用量。単位はKBです

t 実行時の実体メモリの平均使用量、単位はKBです

K 実行プログラムが使用するメモリの合計量(スタック+data+text)の平均サイズ、単位はKBです

D 実行プログラムの独自データエリア(共有されないデータエリア)の平均サイズ、単位はKBです

p 実行プログラムの独自スタック(共有されないスタック)の平均サイズ、単位はKBです

X 実行プログラム間で共有される内容(共有テキスト)の平均値、単位はKBです

Z システムメモリページのサイズ、単位はバイトです。同じシステムではこれは定数です

3、IOリソース

このプログラムのメインメモリページエラーが発生した回数。メインメモリページエラーとは、あるメモリページがすでにスワップファイルに交換されており、他のプログラムに割り当てられている場合のことです。このページの内容はスワップファイルから再読み込みする必要があります。

このプログラムのサブメモリページエラーが発生した回数。サブメモリページエラーとは、あるメモリページがすでにスワップファイルに交換されているが、他のプログラムに割り当てられていない場合のことです。このページの内容は破損していないため、スワップファイルから読み出す必要はありません。

このプログラムが交換された回数(ページレベルのスワップファイルへの交換)

このプログラムは強制的に中断(CPU時間が切れたように見える)された回数

このプログラムは自己中断(あるいは待機している某个 Iのような)が発生しました。/O 実行完了時、ディスク読み取りなど)の回数

I このプログラムが読み込んだファイルの数

O このプログラムが書き出したファイルの数

r このプログラムが受け取ったソケットメッセージ

s このプログラムが送信したソケットメッセージ

k このプログラムが受け取ったシグナル(Signal)の数

4、Command Info

C 実行時のパラメータおよびコマンド名

x コマンドの終了コード(Exit Status)

-p or --portability:このオプションは、自動的に以下の表示フォーマットに設定されます:

real %e user %Usys %S:これによりPOSIX規格との互換性が確保されます。

-v or --verbose:このオプションは、すべてのプログラムで使用されるリソースを全てリストアップします。一般的な英文文脈だけでなく、説明も含まれます。フォーマット設定に時間をかけたくない人や、このコマンドに初めて触れる人には非常に役立ちます。

オンラインサンプル

1. # time date
2. Sun Mar 26 22:45:34 GMT-8 2006
3. 
4. real    0m0.136s
5. user    0m0.010s
6. sys     0m0.070s
7. #

上記の例では、「time date」コマンドを実行します(第1行)。

システムはまず「date」コマンドを実行します、第2「date」コマンドの実行結果が表示されます。

第3-6「date」コマンドの実行時間統計結果が表示されます。その中で、第4「real」行は実際の時間で、第5「user」行はユーザーCPU時間で、第6「sys」行はシステムCPU時間です。

以上の3種類の時間の表示フォーマットはすべてMMmNN[.FFF]sです。

以下のコマンドを使用して

time -v ps -aux

psを実行する方法を取得できます -auxの結果と使用したシステムリソースは以下の通りです:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init
root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod]
......
root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux
計測中のコマンド: "ps -aux"
ユーザー時間(秒): 0.05
システム時間(秒): 0.06
このジョブが得たCPUの割合: 68%
経過時間(ウォールクロック時間)(h:mm:ssまたはm:ss): 0:00.16
平均共有テキストサイズ(キロバイト): 0
平均未共有データサイズ(キロバイト): 0
平均スタックサイズ(キロバイト): 0
平均合計サイズ(キロバイト): 0
最大常駐セットサイズ(キロバイト): 0
平均常駐セットサイズ(キロバイト): 0
メジャー(Iを必要とする)/O) ページフォールト: 238
マイナー(フレームを回収する)ページフォールト: 46
自発的なコンテキスト切換: 0
強制的なコンテキスト切換: 0
スワップ: 0
ファイルシステム入力: 0
ファイルシステム出力: 0
ソケットメッセージ送信: 0
ソケットメッセージ受信: 0
信号送信: 0
ページサイズ (バイト): 4096
終了ステータス: 0

Linux コマンド大全