Tips記事
» 2003年05月07日 17時21分 UPDATE

アカウントの利用統計が知りたい

[木田佳克,ITmedia]

 アカウントとひと口に言っても、利用形態には人が操作を行いログインするだけでなく、chrootなど特定のサービスで利用される場合もある。

 これらの利用統計に便利なのが「sa」コマンドだ。このバイナリは、RPMの場合には「psacct」パッケージに含まれている。まずはシステムにインストール済みかを確認しよう。

# rpm -qa|grep psacct
psacct-6.3.2-27

 存在しない場合には、システムCD-ROMやISOファイル、「SpeakEasy.Rpmfind.Net」などで検索するとよい。

 デーモン実行後には、すぐさまログ記録が開始される。起動直後はシステムロードが高くなりがちだが、数十分で安定するだろう。

# /etc/rc.d/init.d/psacct start
プロセスアカウントを開始中           [ OK ]

 ログ記録先は、「/var/account/pacct」ファイルになる。このファイルはバイナリのためtailコマンドなどで覗くことはできない。

 しばらく時間を置くと、次のような統計が見られるようになる。

# sa -m
    6104  156.12re   1.38cp  0avio 1072k
root  5888  61.51re   1.15cp  0avio 1052k
xxxx   153  46.22re   0.22cp  0avio 2058k
apache   9   0.03re   0.01cp  0avio  837k
uucp   27   0.12re   0.00cp  0avio  478k
postfix  17  43.25re   0.00cp  0avio  756k
mailscan  9   4.92re   0.00cp  0avio  445k
sshd    1   0.08re   0.00cp  0avio  1223k

 それぞれの項目は、1行目に総合値が並び、2行目からはアカウントごとの統計になっている。それぞれの意味は、左から「アカウント名」、「コマンド実行回数」、「コマンド実行時間」、「CPU利用時間」、「入出力回数」、「メモリ利用量」と並ぶ。

 なお、RPMパッケージのインストールであれば肥大化が想像に難しくないsaの統計ログファイル(/var/account/pacct)は、自動的にローテートされるよう設定される。

# cat /etc/logrotate.d/psacct
# Logrotate file for psacct RPM

/var/account/pacct {
prerotate
/usr/sbin/accton
endscript
compress
notifempty
daily
rotate 31
create 0600 root root
postrotate
/usr/sbin/accton /var/account/pacct
endscript
}

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ