acctcom コマンド

目的

選択したプロセスに対するプロセス・アカウンティング・レコードの要約を表示します。

構文

/usr/sbin/acct/acctcom [ [ -q | -o File ] | [ -a ] [ -b ] [ -c Classname ] [-f ] [ -h ] [ -i ] [ -k ] [ -m ] [ -r ] [ -t ] [ -v ] [ -w [ -X ] [ -W ]] [ -C Seconds ] [ -g Group ] [ -H Factor ] [ -I Number ] [ -l Line ] [ -n Pattern ] [ -O Seconds ] [ -u User ] [ -e Time ] [ -E Time ] [ -s Time ] [ -S Time ] [ -@ [ WparName ] ] [ File ... ]

説明

acctcom コマンドは、 File パラメーターで指定されたファイルからのプロセス・アカウント・レコードを、標準入力または /var/adm/pacct ファイルから読み取ります。 さらに、acctcom コマンドは、ユーザーが要求するレコードを標準出力に書き出します。 このコマンドは /usr/sbin/acct ディレクトリーに格納され、すべてのユーザーがアクセスできます。

File パラメーターが指定されていなくて、プロセスをバックグラウンドで実行する場合のように、標準入力がワークステーションまたは /dev/null ファイルに割り当てられている場合は、acctcom コマンドは /var/adm/pacct ファイルを読み取ります。

File パラメーターを指定すると、acctcom コマンドは、プロセス完了時刻の早い順に各ファイルを読み取ります。 通常は、/var/adm/pacct ファイルが、acctcom コマンドで検査する対象の現行ファイルになります。 ckpacct プロシージャーはこのファイルが大きくなりすぎないようにするので、稼働率の高いシステムには複数の pacct ファイルができる可能性があります。 現行ファイル以外のファイルは、パス名が /var/adm/pacct? になります (? は整数を表す)。

各レコードは 1 つの完了したプロセスを表します。 デフォルト表示は、コマンド名、ユーザー名、tty 名、開始時刻、終了時刻、実秒数、CPU 秒数、および平均メモリー・サイズ (KB) から成っています。 これらのデフォルト項目には、出力に次の見出しが付きます。

COMMAND                    START   END    REAL    CPU     MEAN
NAME    USER    TTYNAME    TIME    TIME   (SECS)  (SECS)  SIZE(K)
root ユーザーが実行したプロセスの場合は、プロセス名の前にシャープ (#) が付いています。プロセスが既知のワークステーションに割り当てられていない場合 (例えば、cron デーモンがプロセスを実行している場合) は、?(疑問符) が TTYNAME フィールドに表示されます。
注:
  1. acctcom コマンドでは単に、終了したプロセスに関して報告 するだけです。アクティブ・プロセスについて調べたい場合は、ps コマンドを使用してください。
  2. 指定された時刻が現在の時刻よりも遅い時刻の場合は、前日に発生したものと 解釈されます。

フラグ

項目 説明
-a 選択されたプロセスに関する幾つかの平均統計値を表示します。 統計は、出力レコードのあとに表示されます。
-b 逆方向に読み取り、最新のコマンドを最初に表示します。acctcom コマンドが標準入力を読み取っている場合には、このフラグには効力はありません。
-c Classname 指定のクラスに所属するプロセスを選択します。
注: 削除済みクラスに関しては、アカウンティング・データは検索できません。
-C Seconds 合計 CPU 時間 (システム時間 + ユーザー時間) が Seconds 変数の指定値を超えているプロセスだけを表示します。
-e Time 指定時刻以前に存在していたプロセスを選択します。 時、分、秒の順序は、現行ロケールを使用して指定できます。デフォルトの順序は hh:mm:ss です。
-E Time 指定時刻以前に終了したプロセスを選択します。時、分、秒の順序は、現行ロケールを使用して指定できます。デフォルトの順序は hh:mm:ss です。-E フラグと -S フラグの両方に同じ時刻を指定すると、 acctcom コマンドは、指定時刻に存在していたプロセスを表示します。
-f acct.h ファイルの ac_flag フィールドに関連する 2 つの項目を表示します。 最初の項目はプロセスを作成するための fork コマンドの使用方法を示し、 2 番目の項目はシステム終了値を示します。
-g Group 指定のグループに所属するプロセスを選択します。グループ ID またはグループ名を指定できます。
-h 平均メモリー・サイズの代わりに、合計使用可能 CPU 時間のうちのプロセスが消費した時間の部分 (ホグ係数) を表示します。このファクターは次のようにして計算されます。
(total CPU time) / (elapsed time)
-H Factor Factor パラメーターの値を超えるプロセスだけを表示します。このファクターはホグ係数と呼ばれ、次のようにして計算されます。
no(total CPU time) / (elapsed time)
-i 読み取り操作または書き込み操作で転送された文字数 (入出力カウント) を示す列を表示します。
-k メモリー・サイズではなく、 合計の kcore 分 (実行時の分ごとに、 使用されるキロバイト・セグメントのメモリー測定) を示します。
-l Line (L の小文字) ワークステーション /dev/Line に所属するプロセスだけを表示します。
-I Number (i の大文字) 指定の文字数を超える文字を転送するプロセスだけを表示します。
-m 平均のメイン・メモリーのサイズを示します。これはデフォルトです。-h フラグまたは -k フラグを使用すると、 -m フラグはオフになります。
-n Pattern Pattern 変数の値に一致するコマンドだけを表示します。Pattern は正規表現です。正規表現の説明については、『ed コマンド』のセクションを参照してください。acctcom コマンドでは、通常の文字のほかに、先行文字用の特殊記号として + (正符号) を使用できます。
-o File 選択されたプロセス・レコードを、入力データ・フォーマットをそのまま使用して、指定のファイルにコピーします。このフラグは、標準出力への書き出しを抑止します。 このフラグは、-q フラグと共には使用できません。
-O Seconds CPU システム時間が指定の秒数を超えているプロセスだけを表示します。
-q 統計を表示しますが、出力レコードは表示しません。統計は、-a フラグを使用したときに表示されるものと同じです。-q フラグは、-o フラグと共には使用できません。
-r CPU ファクターを表示します。このファクターは次のようにして計算されます。

(user-time) / (system-time + user-time)
-s Time 指定時刻以降に存在していたプロセスだけを表示します。時、分、秒の順序は、現行ロケールを使用して指定できます。デフォルトの順序は hh:mm:ss です。
-S Time 指定時刻以降に開始したプロセスだけを表示します。時、分、秒の順序は、現行ロケールを使用して指定できます。デフォルトの順序は hh:mm:ss です。
-t 個別のシステムおよびユーザー CPU 時間を示します。
-u User 指定のユーザーに所属するプロセスだけを表示します。User 変数には次のいずれかを指定してください。 ユーザー ID、ユーザー ID に変換するログイン名、root ユーザーが実行するプロセスを選択するための # (ポンド記号)、または不明なユーザー ID に関連したプロセスを選択するための ? (疑問符)。
-v 出力から列見出しを削除します。
-w プロセスが属するクラス名を表示します。
-W 最初の 8 文字に切り捨てることをせずに、各ユーザー名の使用可能なすべての文字を印刷します。またこの出力は 132 文字にまで広げられ、ユーザー名に追加スペースを使用できるようになっています。-W オプションは、-X オプションとは同時に使用できません。両方のフラグを使用すると、2 番目に指定されたフラグは無視されます。
-X 最初の 8 文字に切り捨てることをせずに、各ユーザー名の使用可能なすべての文字を印刷します。また、ユーザー名は出力の最後の列に移動されます。-X オプションは、-W オプションとは同時に使用できません。両方のフラグを使用すると、2 番目に指定されたフラグは無視されます。
-@ [ WparName ] workload partition ごとに、選択したプロセスに対するプロセス・アカウンティング・レコードの要約を表示します。WparName パラメーターを使用してworkload partition を指定すると、 指定したworkload partition に対するアカウンティング・レコードが表示されます。 workload partition を指定しないと、 すべてのworkload partitions に対するアカウンティング・レコードが表示されます。 各レコードに対して、workload partition 名が表示されます。

ワークロード・パーティション内で実行する場合、-@ オプションはサポートされません。

セキュリティー

RBAC ユーザーと Trusted AIX® ユーザーへの注意: このコマンドは特権命令を実行できます。特権命令を実行できるのは特権ユーザーのみです。権限および特権の詳細情報については、「セキュリティー」の『特権コマンド・データベース』を参照してください。このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。

  1. CPU 時間が 2 秒を超えるプロセスについての情報を表示する場合は、次のように 入力します。
    /usr/sbin/acct/acctcom -O 2 < /var/adm/pacct
    プロセス情報は、/var/adm/pacct ファイルから読み取られます。
  2. finance グループに属するプロセスについての情報を表示する場合は、次のように入力します。
    /usr/sbin/acct/acctcom -g Finance < /var/adm/pacct
    プロセス情報は、/var/adm/pacct ファイルから読み取られます。
  3. /dev/console ワークステーションに属し、しかも午後 5 時を過ぎてから実行される プロセスについての情報を表示する場合は、次のように入力します。
    
    /usr/sbin/acct/acctcom -l /dev/console -s 17:00 
    デフォルトでは、プロセス情報は /var/adm/pacct ファイルから読み取られます。
  4. 8 文字を超えるユーザー名を持つマシン上のプロセスに関する全情報を表示するには、次のように入力します。
    /usr/sbin/acct/acctcom -X < /var/adm/pacct
    プロセス情報は、/var/adm/pacct ファイルから読み取られます。
  5. warpath WPAR 内で実行されているプロセスに関する情報を表示するには、 次のコマンドを使用します。
    acctcom -@ warpath < /var/adm/pacct
    プロセス情報は、/var/adm/pacct ファイルから読み取られます。
  6. すべての WPAR で実行されているプロセスに関する情報を表示するには、 次のコマンドを使用します。
    acctcom -@ < /var/adm/pacct
    プロセス情報は、/var/adm/pacct ファイルから読み取られます。

ファイル

項目 説明
/usr/sbin/acct/acctcom acctcom コマンドが入っています。
/var/adm/pacct 現行のプロセス・アカウンティング・ファイルが入っています。
/etc/group グループの基本グループ属性が入っています。
/etc/passwd ユーザーの基本属性が入っています。