Solaris のシステム管理 (上級編)

acctcom による pacct ファイルの確認

/var/adm/pacctn ファイル、または acct.h 形式のレコードを持つ任意のファイルの内容は、acctcom プログラムを使用していつでも調べることができます。このコマンドを実行するときに、ファイルも標準入力も指定しなければ、acctcom コマンドは pacct ファイルを読み取ります。acctcom コマンドで読み取られる各レコードは、終了したプロセスの情報を表します。アクティブなプロセスは、ps コマンドを実行して調べます。

acctcom コマンドのデフォルト出力は次に示す情報を示します。


# acctcom
COMMAND                           START    END          REAL     CPU    MEAN
NAME       USER     TTYNAME       TIME     TIME       (SECS)  (SECS) SIZE(K)
#accton    root      ?            02:30:01 02:30:01     0.03    0.01  304.00
turnacct   adm       ?            02:30:01 02:30:01     0.42    0.01  320.00
mv         adm       ?            02:30:01 02:30:01     0.07    0.01  504.00
utmp_upd   adm       ?            02:30:01 02:30:01     0.03    0.01  712.00
utmp_upd   adm       ?            02:30:01 02:30:01     0.01    0.01  824.00
utmp_upd   adm       ?            02:30:01 02:30:01     0.01    0.01  912.00
utmp_upd   adm       ?            02:30:01 02:30:01     0.01    0.01  920.00
utmp_upd   adm       ?            02:30:01 02:30:01     0.01    0.01 1136.00
utmp_upd   adm       ?            02:30:01 02:30:01     0.01    0.01  576.00
closewtm   adm       ?            02:30:01 02:30:01     0.10    0.01  664.00

次の一覧は、各フィールドを説明したものです。

COMMAND NAME

コマンド名 (# 記号はスーパーユーザー特権を使用して実行された場合)

USER

ユーザー名

TTYNAME

tty 名 (不明の場合は ?)

START TIME

コマンド開始時刻

END TIME

コマンド終了時刻

REAL (SECS)

実時間 (秒単位)

CPU (SECS)

CPU 時間 (秒単位)

MEAN SIZE (K)

平均サイズ (K バイト単位)

acctcom コマンドを使用すると、次の情報を得ることができます。

次の一覧では、acctcom コマンドオプションを解説します。

-a

選択したプロセスに関する特定の平均統計を表示する。統計は出力が記録された後に表示される

-b

ファイルを逆読みし、最後のコマンドから先に表示する。標準入力の読み込みには関係しない

-f

fork/exec フラグおよびシステム終了状態カラムを出力する。出力は 8 進数

-h

平均メモリーサイズの代わりに hog 係数を表示する。これは経過時間とプロセスが実行中に消費した合計 CPU 利用可能時間との比。hog 係数 = 合計 CPU 利用時間/経過時間

-i

入出力カウントを含むカラムを出力する

-k

メモリーサイズの代わりに、キロバイト/分ごとのコアサイズの合計値を表示する

-m

平均コアサイズを表示する。このサイズがデフォルト

-q

平均統計だけを出力する。出力レコードは出力しない

-r

CPU 係数を表示する。 ユーザー時間 / (システム使用時間 + ユーザー使用時間)

-t

システムおよびユーザー CPU 時間を表示する

-v

出力からカラム見出しを除外する

-C sec

合計 (システム + ユーザー) CPU 時間が sec 秒を超えたプロセスだけを表示する

-e time

time 以前に存在したプロセスを hr[:min[:sec]] の書式で表示する

-E time

time 以前に開始されたプロセスを hr[:min[:sec]] の書式で表示する同じ time を -S-E の両方に使用すれば、そのときに存在していたプロセスを表示する

-g group

group に属しているプロセスだけを表示する

-H factor

factor を超えるプロセスだけを表示する。ただし、factor は「hog 係数」(-h オプションを参照)

-I chars

chars によって指定されるカットオフ数を超える文字数を転送したプロセスだけを表示する

-l line

端末 /dev/line に属しているプロセスだけを表示する

-n pattern

pattern (「+」が 1 回以上現れることを意味する以外は、一般的な正規表現) に一致するコマンドだけを表示する

-o ofile

レコードを出力しないで、レコードを acct.h 形式で ofile にコピーする

-O sec

CPU システム時間が sec 秒を超えるプロセスだけを表示する

-s time

time 以後に存在したプロセスを hr[: min[: sec]] の書式で表示する

-S time

time 以後に開始されたプロセスを hr[: min[: sec]] の書式で表示する

-u user

user に属しているプロセスだけを表示する