Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341556
  • 博文数量: 2110
  • 博客积分: 18861
  • 博客等级: 上将
  • 技术积分: 24420
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-05 18:23
文章分类

全部博文(2110)

文章存档

2011年(139)

2010年(1971)

我的朋友

分类: LINUX

2010-09-23 11:05:44

 sa:报告、清理并维护进程统计文件

  作用:sa命令把/var/log/pacct中的信息压缩到摘要文件/var/log/savacct和/var/log/usracct中,报告、清理并维护进程统计文件。

  用法:sa [选项]... [文件]...

  主要选项如下。

  — -a:打印所有命令的名称(包括那些带有不可打印字符的)。

  — -b:将输出按用户和系统时间的总和除以调用次数来进行分类。否则,输出为用户时间和系统时间之和。

  — -c:将每个命令使用时间打印为相对于所有命令使用时间的百分比。此外,还有用户、系统和实时。

  — -C:将记账文件合并到摘要文件中。如果摘要文件为旧用法,则将它转换为新用法。

  — -d:将输出按平均磁盘I/O操作数进行分类。

  — -D:将输出按总的磁盘I/O操作数进行分类和打印。

  — -f:不要强制进行交互式阈值压缩。此标志必须与-v标志一起使用。

  — -I:仅读取原始数据,不读取摘要文件。

  — -j:打印每个调用的秒数,而不是每个类别的总的分钟数。

  — -k:将输出按平均CPU时间进行分类。

  — -K:将输出按CPU存储量整数进行分类和打印。

  — -l:将系统时间和用户时间分离,而不是组合它们。

  — -m:打印每个用户的进程数和CPU分钟数。

  — -n:按调用数对输出进行分类。

  — -r:将分类的顺序倒置。

  — -s:将记账文件合并到摘要文件中。

  — -t:打印每个命令的用时与用户和系统时间和之比。

  — -u:暂挂所有其他标志并且打印每个命令的用户数字标识和命令名。

 与sa命令一起使用的标志改变报告信息的类型。报告可以包含以下字段。

  — avio:每次执行的平均I/O操作次数。

  — cp:用户和系统时间总和,以分钟计。

  — cpu:和cp一样。

  — k:内核使用的平均CPU时间,以1k为单位。

  — k*sec:CPU存储完整性,以1k-core秒为单位。

  — re:实时时间,以分钟计。

  — s:系统时间,以分钟计。

  — tio:I/O操作的总数。

  — u:用户时间,以分钟计。

  如果不指定任何标志而运行sa命令,摘要报告将包含每个命令的调用次数,以及re,cpu,avio和k字段。

  应用实例如下。

  (1)打印每个用户的进程数和CPU分钟数

以下是代码片段:
  # sa -m /var/log/pacct
  904 72.81re 0.27cp 1324k
  root 658 69.54re 0.27cp 926k
  nagios 237 3.24re 0.00cp 2400k
  sshd 8 0.00re 0.00cp 2104k
  smmsp 1 0.02re 0.00cp 2035k

  (2)指定sa读取手工建立的文件/var/account/acct

  使用sa命令默认分别读取/var/account/下的pacct,savacct和usracct文件,我们需要指定它读取手工建立的文件/var/account/acct。

以下是代码片段:
  # sa -a --other-acct-file /var/account/acct
  3 0.00re 0.00cp 0avio 726k
  1 0.00re 0.00cp 0avio 1207k ls
  1 0.00re 0.00cp 0avio 571k goodc
  1 0.00re 0.00cp 0avio 399k accton

  (3)按平均CPU时间进行记账记录总结

  sa -k

  at:定时运行命令

  作用:at命令在指定时刻执行指定的命令序列。

  用法:at [-V] [-q 队列] [-f file] [-m] time

  主要选项如下。

  — -V:输出版本号。

  — -q:选用q参数则可选队列名称,队列名称可以是a~z和A~Z之间的任意字母。队列字母顺序越高则队列优先级别越低。

  — -f:从文件中读取命令或Shell脚本,而非在提示后指定它们。

  — -m:执行完作业后发送电子邮件给用户。

  — time:设定作业执行的时间。time参数可以是下面用法中的任何一种。

  Ø HH:MM用法——如04:00,代表4:00AM。如果时间已过,就会在第二天的这一时间执行。midnight代表12:00AM。noon代表12:00PM。teatime代表4:00PM。

  Ø 英文月名、日期、年份用法——如January 15 2005,代表2005年1月15日。年份可无。

  Ø MMDDYY,MM/DD/YY或MM.DD.YY用法——如011505,代表2005年1月15日。

  Ø now +时间用法——时间以minutes,hours,days或weeks为单位。如now + 5 days,代表命令应该在5天之后的此时此刻执行。偏移量的用法为时间+偏移量,单位是minutes,hours和days。

  说明:at命令实际上是一组命令集合。at命令在指定时刻执行指定的命令序列。atq查询已经设定的命令序列。atrm删除已经设定的命令序列。batch,当系统负载低于一个设定值(0.8)时,执行设定的命令序列。

  应用实例如下。

  让系统在两天后的17:30执行文件data中指定的作业,使用命令:

  # at -f date 15:30 +2 days

  job 3 at 2010-03-27 15:30

  atq:显示目前使用at命令后待执行的命令队列

  作用:atq命令查询已经设定的命令序列。在用户是超级用户的情况下,列出所有人的作业。

  用法:atq [-V] [-q 队列]

  主要选项如下。

  — -V:输出版本号。

  — -q:选用q参数则可选队列名称,队列名称可以是a~z和A~Z之间的任意字母。队列字母顺序越高则队列优先级别越低。

  应用实例如下。

  显示目前使用at命令后待执行的命令队列:

以下是代码片段:
  # atq
  3 2010-03-27 15:30 a root
  2 2010-03-26 15:30 a root
阅读(287) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~