系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones

使用扩展记帐功能

如果用户拥有要管理的扩展记帐类型的相应权限配置文件,则可以管理扩展记帐(启动记帐、停止记帐和更改记帐配置参数):

Procedure如何激活进程、任务和流的扩展记帐

要激活任务、进程和流的扩展记帐功能,请使用 acctadm 命令。acctadm 的可选最终参数表示此命令是应该针对扩展记帐功能的进程记帐组件、系统任务记帐组件还是流记帐组件执行。

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”

  2. 激活进程的扩展记帐。


    # acctadm -e extended -f /var/adm/exacct/proc process
    
  3. 激活任务的扩展记帐。


    # acctadm -e extended,mstate -f /var/adm/exacct/task task
    
  4. 激活流的扩展记帐。


    # acctadm -e extended -f /var/adm/exacct/flow flow
    
另请参见

有关更多信息,请参见 acctadm(1M)

如何使用启动脚本激活扩展记帐

通过将 /etc/init.d/acctadm 脚本链接到 /etc/rc2.d,可以在运行时激活扩展记帐。


# ln -s /etc/init.d/acctadm /etc/rc2.d/Snacctadm
# ln -s /etc/init.d/acctadm /etc/rc2.d/Knacctadm

n 变量以数字替换。

必须至少手动激活一次扩展记帐以设置配置。

有关记帐配置的信息,请参见扩展记帐配置

如何显示扩展记帐状态

键入不带参数的 acctadm 可以显示扩展记帐功能的当前状态。


# acctadm
                 Task accounting: active
            Task accounting file: /var/adm/exacct/task
          Tracked task resources: extended
        Untracked task resources: none
              Process accounting: active
         Process accounting file: /var/adm/exacct/proc
       Tracked process resources: extended
     Untracked process resources: host
                 Flow accounting: active
            Flow accounting file: /var/adm/exacct/flow
          Tracked flow resources: extended
        Untracked flow resources: none

在前一示例中,系统任务记帐在扩展模式和 mstate 模式下激活。进程记帐和流记帐在扩展模式下激活。


注 –

在扩展记帐的上下文中,微状态 (mstate) 是指与微状态进程转换关联的扩展数据,可从进程使用情况文件(请参见 proc(4))中获取此数据。与基本记录或扩展记录相比,此数据可提供有关进程活动的更多详细信息。


如何查看可用的记帐资源

可用的资源随系统和平台的不同而有所不同。使用带有 -r 选项的 acctadm 命令可以查看系统上的可用记帐资源组。


# acctadm -r
process:
extended pid,uid,gid,cpu,time,command,tty,projid,taskid,ancpid,wait-status,zone,flag,
memory,mstatedisplays as one line
basic    pid,uid,gid,cpu,time,command,tty,flag
task:
extended taskid,projid,cpu,time,host,mstate,anctaskid,zone
basic    taskid,projid,cpu,time
flow:
extended 
saddr,daddr,sport,dport,proto,dsfield,nbytes,npkts,action,ctime,lseen,projid,uid
basic    saddr,daddr,sport,dport,proto,nbytes,npkts,action

Procedure如何取消激活进程记帐、任务记帐和流记帐

要取消激活进程记帐、任务记帐和流记帐,请使用带有 -x 选项的 acctadm 命令分别禁用每个记帐。

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”

  2. 禁用进程记帐。


    # acctadm -x process 
    
  3. 禁用任务记帐。


    # acctadm -x task
    
  4. 禁用流记帐。


    # acctadm -x flow
    
  5. 检验是否已禁用任务记帐、进程记帐和流记帐。


    	# acctadm
                Task accounting: inactive
           Task accounting file: none
         Tracked task resources: extended
       Untracked task resources: none
             Process accounting: inactive
        Process accounting file: none
      Tracked process resources: extended
    Untracked process resources: host
                Flow accounting: inactive
           Flow accounting file: none
         Tracked flow resources: extended
       Untracked flow resources: none