SA(8)

名称
sa - システムアカウント統計情報を表示する

書式
sa [-abcdDfijkKlmnqrstu] [-v cutoff] [file ...]

解説
sa は、システム管理の情報を表示したり、アカウント情報ファイルを 維持管理します。

sa を使えば、 /var/account/acct に含まれる情報を、 サマリファイル /var/account/savacct と /var/account/usracct に 凝縮して収めることができます。これらのファイルには、コマンド名やユーザ ID にもとづいたシステムの統計情報が記録されます。これらのサマリファイルは、 /var/account/acct が1日に数百ブロックも大きくなるような利用者の多い システムでは必要になります。

file が与えられると、 /var/account/acct のかわりにそのファイル が読み込まれます。各ファイルが読み込まれたあと、サマリファイルを更新する 必要があればディスクにセーブされます。最後のファイルが処理されたあと、 報告が表示されます。

個々のオプションで指定されるものを除いて、以下に示すラベルが出力で使われます。

avio
    実行時の I/O 操作の平均回数

cp  ユーザ時間とシステム時間の合計 (単位:分)

cpu cpと同じ

k   CPU時間で割ったメモリ使用量 (単位:Kbyete)

k*sec
    CPUとメモリの総使用量 (単位: 1k-core秒)

re  実時間 (単位: 分)

s   システム時間 (単位: 分)

tio I/O操作の合計回数

u   ユーザ時間 (単位: 分)

オプション:

-a  表示できない文字を含んだコマンドも、すべて一度に表示します。 デフォルトでは表示できない文字を含むコマンドは、``***other'' に含まれます。

-b  コマンド統計情報を表示する場合、ユーザ時間とシステム時間の合計を コマンドの呼び出し回数で割った値でソートして表示します。

-c  表示される呼び出し回数、実時間、CPU 時間それぞれに関して、 コマンド全体に対するそのコマンドの割合をパーセンテージ表示します。

-d  コマンド統計情報を表示する場合は、ディスク I/O 操作の平均回数でソートします。 ユーザ統計情報を表示する場合は、各ユーザのディスク I/O 操作の平均回数を 表示します。

-D  コマンド統計を表示する場合は、ディスク I/O 操作の合計回数でソートします。

-f  -v を使用する際、ユーザに問い合わせを行いません。

-i  サマリアカウント情報ファイルを読みません。

-j  各コマンドの合計時間の代りに、各コマンドの消費時間 (合計時間/呼び出し回数) を表示します。

-k  コマンド統計情報を表示する場合は、CPU 時間をメモリ使用量で平均したもので ソートします。ユーザ統計を表示する場合は、CPU 時間をメモリ使用量で 平均したもので表示します。

-K  コマンド統計を表示する場合は、CPU の総使用量 (CPU 時間×メモリ使用量) で ソートしたものを表示します。

-l  システム時間とユーザ時間を別々に表示します。普通は合計して表示されます。

-m  コマンド統計情報のかわりに、ユーザ統計を表示します。

-n  呼び出し回数でソートします。

-q  エラーメッセージ以外の出力は行いません。

-r  逆順でソートします。

-s  データをサマリファイルに加えたあと、アカウント情報ファイルを空にします。

-t  各コマンドごとに、実時間/CPU 時間 (システムとユーザ時間) の値を表示します。 CPU 時間が小さすぎる場合は、``*ignore'' が表示されます。

-u  他のオプションを打ち消して、アカウント情報ファイルから ユーザ ID、CPU を使用した合計秒数、合計メモリ使用量、I/O 操作回数、 コマンド名などを表示します。

-v cutoff

    cutoff 時間以下のコマンドについて、 ユーザに問い合わせを行います。返答として ``y'' を入力すると、 そのコマンドは ``**junk**'' に分類されます。このオプションは、報告の なかから意味のないコマンドを取り除くために使われます。

デフォルトでは、コマンド統計を表示します。

    jupiter% sa
    484     244.13re       4.40cp      10avio      0k
     50       6.97re       0.43cp       5avio      0k   more
     16     136.19re       0.38cp      33avio      0k   csh
     48       1.35re       0.37cp       7avio      0k   sa
      4       0.39re       0.35cp      62avio      0k   cc1

各行には、コマンドの呼び出し回数、コマンドの経過時間 (分)、ユーザ時間とシステム 時間を合計した CPU 時間、平均の I/O 操作回数、CPU 時間をメモリ使用量で 平均したもの、コマンド名が列挙されます。 -m が指定された場合は、ユーザ統計を表示します。

    jupiter% sa -m
    root        337      3.37cpu      3889tio        0k*sec
    kino        148      1.03cpu       922tio        0k*sec

それぞれの行は、各ユーザのユーザ名、コマンド実行回数、合計 CPU 時間 (分)、 合計 I/O 操作回数、総メモリ使用量から構成されています。もし -u が指定されると、アカウント情報ファイルに記録されている各エントリを表示します。

    jupiter% sa -u
       0         1.16 cpu            0k mem           29 io sa
       0         0.25 cpu            0k mem            6 io ls
       0         0.19 cpu            0k mem            7 io sa
       0         1.80 cpu            0k mem           49 io csh
    3000         0.30 cpu            0k mem            9 io sa

各行は、ユーザID、CPU 時間 (秒)、メモリ使用量、I/O 操作回数、 コマンド名から構成されています。

-u が指定されると、 -q を除いて、他のオプションは無視されます。 -m が指定されると、 -b , -d , -i , -k , -q , -s フラグだけが認識されます。

戻り値
成功した場合は 0 を、エラーが発生した場合は 0 より大きな値を返します。

関連ファイル
/var/account/acct
    生の統計情報ファイル
/var/account/savacct
    コマンドごとのサマリデータベースファイル
/var/account/usracct
    ユーザごとのサマリデータベースファイル

関連項目
ac(8), acct(5), accton(8), lastcomm(1)

バグ
このプログラムのオプションには不合理なものがいっぱいあります。特に オプション文字は、機能とまったく関係がありません。

各ラベルにはもっと一貫性があるべきです。

NetBSD の仮想メモリ (VM) システムでは、CPU の総使用量は記録されません。

この sa のオプションは、オリジナルの sa をもとにしていますが、変更点もあります。サマリファイルのフォーマットは オリジナルのものから変更されています。

作者
Chris G. Demetriou, cgd@postgres.berkeley.edu