分页: 1 / 1

《NetBSD指南-18.6.2.读取记账信息》

发表于 : 2010-03-05 14:02
leo
要读取记账信息可以使用两个工具: 18.6.2.1. lastcomm
lastcomm命令按顺序显示最后运行的命令。 但是它可以, 通过指定用户来选择, 这里是一些输出的例子:

代码: 全选

$ lastcomm jrf
last       -       jrf      ttyp3      0.00 secs Tue Sep  3 14:39 (0:00:00.02)
man        -       jrf      ttyp3      0.00 secs Tue Sep  3 14:38 (0:01:49.03)
sh         -       jrf      ttyp3      0.00 secs Tue Sep  3 14:38 (0:01:49.03)
less       -       jrf      ttyp3      0.00 secs Tue Sep  3 14:38 (0:01:49.03)
lastcomm   -       jrf      ttyp3      0.02 secs Tue Sep  3 14:38 (0:00:00.02)
stty       -       jrf      ttyp3      0.00 secs Tue Sep  3 14:38 (0:00:00.02)
tset       -       jrf      ttyp3      0.00 secs Tue Sep  3 14:38 (0:00:01.05)
hostname   -       jrf      ttyp3      0.00 secs Tue Sep  3 14:38 (0:00:00.02)
ls         -       jrf      ttyp0      0.00 secs Tue Sep  3 14:36 (0:00:00.00)
...
非常好, lastcomm命令从默认位置 /var/account/acct 获得了它的信息, 但是, 你也可以使用 -f 参数指定(读取)另外一个文件.

很显然, 因为在多用户系统中lastcomm的输出可能会有些大, 这时就正好是 sa 登场的时候了。

18.6.2.2. sa
sa命令(意思是 "打印系统记账统计") 可以被用来维护信息。 它可以用来交互式地产生报告. 下面是 sa 命令的默认输出:
[/code]
$ sa
77 18.62re 0.02cp 8avio 0k
3 4.27re 0.01cp 45avio 0k ispell
2 0.68re 0.00cp 33avio 0k mutt
2 1.09re 0.00cp 23avio 0k vi
10 0.61re 0.00cp 7avio 0k ***other
2 0.01re 0.00cp 29avio 0k exim
4 0.00re 0.00cp 8avio 0k lastcomm
2 0.00re 0.00cp 3avio 0k atrun
3 0.03re 0.00cp 1avio 0k cron*
5 0.02re 0.00cp 10avio 0k exim*
10 3.98re 0.00cp 2avio 0k less
11 0.00re 0.00cp 0avio 0k ls
9 3.95re 0.00cp 12avio 0k man
2 0.00re 0.00cp 4avio 0k sa
12 3.97re 0.00cp 1avio 0k sh
...

代码: 全选

从左到右, 总调用时间, 以分钟计算的实际上使用时间, 用户和系统时间总和(分钟), 平均每次运行的I/O吞吐量,命令名称.

sa命令也可以用来创建概述文件或者会基于某些选项的报告, 例如这是一个CPU时间的平均内存使用量的例子:
[code]
$ sa -k
      86       30.81re        0.02cp        8avio        0k
      10        0.61re        0.00cp        7avio        0k   ***other
       2        0.00re        0.00cp        3avio        0k   atrun
       3        0.03re        0.00cp        1avio        0k   cron*
       2        0.01re        0.00cp       29avio        0k   exim
       5        0.02re        0.00cp       10avio        0k   exim*
       3        4.27re        0.01cp       45avio        0k   ispell
       4        0.00re        0.00cp        8avio        0k   lastcomm
      12        8.04re        0.00cp        2avio        0k   less
      13        0.00re        0.00cp        0avio        0k   ls
      11        8.01re        0.00cp       12avio        0k   man
       2        0.68re        0.00cp       33avio        0k   mutt
       3        0.00re        0.00cp        4avio        0k   sa
      14        8.03re        0.00cp        1avio        0k   sh
       2        1.09re        0.00cp       23avio        0k   vi
sa命令在大系统中的作用尤其明显.