23:38
每一行信息都在屏幕上打印出来, 我们以第一行输出项为例:
userhelper S X vivek pts/0 0.00 secs Mon Nov 13 23:58
分析:
. userhelper 是进程的命令名
. S和X是标志信息, 由系统记帐程序管理. 每一个标志的含义是:
.. S -- 命令由超级用户执行
.. F -- 命令由fork产生, 但是没有exec(执行)
.. D -- 命令终止并创建一个core文件.
.. X -- 命令被SIGTERM信号终止.
. vivek是执行命令的用户名
. prts/0 终端名
. 0.00 secs -- 进程退出时间
你可以通过执行下面的命令来搜索进程记帐日志:
$ lastcomm rm
$ lastcomm passwd
输出:
rm S root pts/0 0.00 secs Tue Nov 14 00:39
rm S root pts/0 0.00 secs Tue Nov 14 00:39
rm S root pts/0 0.00 secs Tue Nov 14 00:38
rm S root pts/0 0.00 secs Tue Nov 14 00:38
rm S root pts/0 0.00 secs Tue Nov 14 00:36
rm S root pts/0 0.00 secs Tue Nov 14 00:36
rm S root pts/0 0.00 secs Tue Nov 14 00:35
rm S root pts/0 0.00 secs Tue Nov 14 00:35
rm vivek pts/0 0.00 secs Tue Nov 14 00:30
rm vivek pts/1 0.00 secs Tue Nov 14 00:30
rm vivek pts/1 0.00 secs Tue Nov 14 00:29
rm vivek pts/1 0.00 secs Tue Nov 14 00:29
你可以通过终端名pts/1作为关键字来搜索进程记帐日志:
$ lastcomm pts/1
5). 统计记帐信息
你可以使用sa命令打印过去执行命令的统计信息. 另外, sa命令保存了一个叫做savacct文件, 文件包含了命令被调用的次数和资源使用的次数. sa还提供每一个用户的统计信息, 这些信息保存在一个叫做usracct的文件当中.
# sa
输出:
579 222.81re 0.16cp 7220k
4 0.36re 0.12cp 31156k up2date
8 0.02re 0.02cp 16976k rpmq
8 0.01re 0.01cp 2148k netstat
11 0.04re 0.00cp 8463k grep
18 100.71re 0.00cp 11111k ***other*
8 0.00re 0.00cp 14500k troff
5 12.32re 0.00cp 10696k smtpd
2 8.46re 0.00cp 13510k bash
8 9.52re 0.00cp 1018k less
以结果输出的第一行为例:
4 0.36re 0.12cp 31156k up2date
分析:
. 0.36re "实际时间" 单位为分钟.
. 0.12cp 系统和用户时间总数(CPU时间, 单位为分钟)
. 31156K 核心使用所占的平均CPU时间, 一个单元的大小为1K
. up2date 命令名
显示每一个用户:
# sa -u
输出:
root 0.00 cpu 595k mem accton
root 0.00 cpu 12488k mem initlog
root 0.00 cpu 12488k mem initlog
root 0.00 cpu 12482k mem touch
root 0.00 cpu 13226k mem psacct
root 0.00 cpu 595k mem consoletype
root 0.00 cpu 13192k mem psacct *
root 0.00 cpu 13226k mem psacct
root 0.00 cpu 12492k mem chkconfig
postfix 0.02 cpu 10696k mem smtpd
vivek 0.00 cpu 19328k mem userhelper
vivek 0.00 cpu 13018k mem id
vive