acctcms 命令

用途

根据记帐记录产生命令使用摘要。

语法

/usr/sbin/acct/acctcms-t  -a  -o 
] [  -p  ]] [ -c  ] [ -j  ] [ -n
 ] [ -s  ] [
File ... ]

描述

acctcms 命令读取由 File 参数指定的每个文件,为名称相同的进程添加和排序所有记录,并将这些记录写入标准输出。 缺省情况下,输出文件是二进制格式。 输入文件通常是 acct 文件格式。

当您同时使用 -o -p 标志时, acctcms 命令将生成一个将主时间和非主时间组合在一起的报告。 高峰时间和非高峰时间由 /etc/acct/holidays 文件中的条目定义。 高峰时间假定为系统最活跃的时期,比如工作日。 星期六和星期日一直是记帐系统的非高峰时间,同样您在 /etc/acct/holidays 文件中指定的任何假期也是非高峰时间。 除了分为高峰分钟和非高峰分钟的运行次数、CPU 分钟和实际分钟以外,所有输出摘要都是关于整个使用状况的。

标志

表 1. 标志
描述
-a 显示是 ASCII 摘要格式而非二进制摘要格式的输出。 每个输出行都包含命令名称,运行命令的次数,总 kcore 时间 (以 KB 段为单位的内存测量) ,总 CPU 时间,总实时时间,平均内存大小 (以 K 字节为单位) ,每次调用命令的平均 CPU 时间以及 CPU 使用率系数。 所有列出的时间以分钟为单位。 acctcms 命令通常按总 kcore 分钟将其输出排序。 单位 kcore 分钟数是使用的内存量 (以 KB 为单位) 乘以使用中的时间量。 此标志不能与 -t 标志一起使用。
仅将以下选项与 -a 选项配合使用:
-o
显示非高峰时间命令的命令摘要。
-p
显示高峰时间命令的命令摘要。
当您同时使用 -o-p 标志时, acctcms 命令将生成一个将主时间和非主时间组合在一起的报告。 高峰时间和非高峰时间由 /etc/acct/holidays 文件中的条目定义。 高峰时间假定为系统最活跃的时期,比如工作日。 对于记帐系统,星期六和星期日始终是非主要时间,如您在 /etc/acct/holidays 文件中指定的任何假日一样。 除了分为高峰分钟和非高峰分钟的运行次数、CPU 分钟和实际分钟以外,所有输出摘要都是关于整个使用状况的。

缺省项在输出中具有以下报头:

         TOTAL COMMAND SUMMARY 
 
 
COMMAND  NUMBER  TOTAL     TOTAL    TOTAL    
NAME     CMDS    KCOREMIN  CPU-MIN  REAL-MIN 
 
 
MEAN    MEAN     HOG     CHARS   BLOCKS
SIZE-K  CPU-MIN  FACTOR  TRNSFD  READ
-c 按 CPU 时间而非总 kcore 分钟来排序。 当此标志与 -n 标志一起使用时,只有 -n 标志生效。
-j 在标题 other下组合仅调用一次的所有命令。
-n 按调用命令的次数排序。 当此标志与 -c 标志一起使用时,只有 -n 标志生效。
-o 显示非高峰时间命令的命令摘要。 仅当使用了 -a 标志时,才能使用此标志。
-p 显示高峰时间命令的命令摘要。 仅当使用了 -a 标志时,才能使用此标志。
-s 假定任何跟在此标志后的指定的文件已是二进制格式。
-t 将所有记录作为总记帐记录处理。 缺省二进制格式将每个字段分割为高峰时间和非高峰时间两部分。 此选项将主时间部分和非主时间部分组合为一个字段 (两者的总和) ,并提供与旧样式 acctcms 二进制摘要格式记录的向上兼容性。 此标志不能与 -a 标志一起使用。

安全性

访问控制: acctcms 命令仅向 adm 组的成员授予执行 (x) 访问权。

示例

要在 today 文件中收集每日命令记帐记录并在 total 文件中保持运行总计,请将以下内容添加到 shell 脚本:

acctcms File . . . > today
cp total previoustotal
acctcms -s today previoustotal > total
acctcms -a -s total

您指定的 File 参数重定向至名为 today 的文件,并添加到先前总和(在重命名为 previoustotal 文件中)以产生新的总和(名为 total)。 所有的文件都是二进制文件。 在最后一行中, -a 标志以 ASCII 格式显示 total 文件,以便您可以查看报告。

文件

表 2。 文件
描述
/etc/acct/holidays 指定记帐记录的高峰时间和非高峰时间。
/usr/sbin/acct/acctcms 包含 acctcms 命令。