命令

cacct - 显示作业统计数据

版本:10.25.0 

概要

cacct [ -d ] [ -e ] [ -l | -a previous_nth_month ] [ -C time0,time1 ] [ -S time0,time1 ] [ -L time0,time1 ] [ -f "文件名"] [ -m "主机名..."] [ -P "项目名称..."] [ -q "队列名称..."] [ -u "用户名..."|all] [ -j "作业 ID ..."]

cacct -ga

cacct [ -h ] 

描述

显示调用该命令的用户所提交作业的帐户统计信息摘要。默认情况下,cacct 会显示发出该命令并登录到所有 AIP 帐户文件 (work/data/cb.acct*) 的用户所提交的所有作业的统计信息。

CPU 时间、作业运行时间、作业等待时间和周转时间均以秒为单位。

选项

-d

显示退出代码为 0 的作业(即状态为 DONE 的作业)的统计信息。

-e

显示 EXIT 状态的作业的统计信息。这包括已运行但以非零值退出的作业,以及挂起期间被终止的作业。

-l

以多行格式列出每项作业的详细信息。

-a previous_nth_month

JSON 格式生成每月详细使用情况数据,用于计费。参数previous_nth_month指定当前月份之前的月份数。0 表示当前月份(截至命令执行时)。1 表示上个月,以此类推。

例如,“cacct -a2 -u all”生成上个月之前一个月的详细使用数据。

-C time0,time1

显示在指定时间间隔内已完成作业的统计信息。有关时间格式规范, 请参阅chist (1)

-f 文件路径

使用"文件路径" 指定的文件中的数据。

例子:cacct -f /opt/skyformai/work/data/cb.acct.13

-ga

JSON 格式列出滥用 GPU 的作业。滥用 GPU 的作业是指使用调度程序未调度的 GPU 的作业,这些作业要么请求了 GPU 但未被使用,要么使用了未分配给该作业的 GPU

-L time0,time1

显示指定时间间隔内开始运行的作业的统计信息。有关时间格式规范, 请参阅chist (1)

-m 主机名...

显示已调度到指定主机的作业的统计信息。多个主机名必须用空格分隔,并用引号 (") (') 括起来。

-P 项目名称...

显示属于指定项目的作业的统计信息。多个项目名称必须用空格分隔,并用引号 (") (') 括起来。

-q 队列名称...

显示提交到指定队列的作业的统计信息。多个队列名称必须用空格分隔,并用引号 (") (') 括起来。

-S time0,time1

显示在指定时间间隔内提交的作业的统计信息。有关时间格式的规范, 请参阅chist (1)

-u 用户组|用户名...|all

只有集群管理员可以使用此选项。如果发出该选项的用户不是集群管理员,则此选项将被忽略。显示由指定用户、用户组或所有用户(如果指定了关键字 all)提交的作业的统计信息。多个用户名必须用空格分隔,并用引号 (") (') 括起来。

-j 作业ID...

显示具有指定作业 ID 的作业的统计信息。多个作业 ID 必须用空格分隔,并用引号 (") (') 括起来。

-h

显示命令使用信息并退出。 

输出

在摘要部分,它显示以下作业统计信息:

- 已完成作业总数
- 已退出作业总数
- 正在运行的作业总数
- 消耗的 CPU 总时间,包括平均值、最大值和最小值
- 使用的内存总量(以 MB 为单位),包括平均值、最大值和最小值
- 作业运行总时间,包括平均值、最大值和最小值
- 作业在队列中的等待时间总量,包括平均值、最大值和最小值
- 平均周转时间、最大和最小周转时间
- 作业的平均占用率、最大和最小占用率
- 总吞吐量

在包含作业详细信息的长格式中,将显示各个作业的信息。其中包括:

- CPU_TCPU 总时间(秒)
- MAX.MEM:已用最大内存(MB
- WAIT:作业待处理时间
- TURNAROUND:作业周转时间(秒)
- STATUSDONE EXIT
- HOG_FACTOR:作业占用因子

cacct -a n的输出

输出cb.acct.n里作业的详细信息。每条作业信息的JSON例子和说明如下:

{

    "User": "root",                           # 作业用户

    "JobId": "307",                           # 作业号

    "SubmitTime": 1745347384,                 # 递交时间戳

    "StartTime": 1745347384,                  # 开始运行时间戳,如果从未开始运行,则为0

    "EndTime": 1745347499,                    # 结束运行时间戳,若无开始时间,则为被杀时间

    "Slots": 1,                               # 使用的总作业槽数

    "SlotTime": 115,                          # 作业槽使用时间(秒) = 作业槽数 X 作业运行时长

    "MaxMem": 59800,                          # 最大内存使用KB

    "App": "",                                # 应用名 csub -A

    "Allocation": [                           # 调度器为作业分配的资源

      {

        "ResSpec": "",                            # csub -R参数

        "MinSlots": 1,                            # csub -n参数

        "MaxSlots": 1,                            # csub -n参数

        "Hosts": [                                # 分配的作业槽列表

          {

            "Name": "dev",                        # 作业槽所在主机

            "Port": 16331                         # 作业槽分配的端口,若分配了GPU,也会列出

          }

        ]

      }

    ],

    "Project": "default",                     # 项目名 csub -P

    "Queue": "medium",                        # 队列名 csub -q

    "Jobname": "",                            # 作业名 csub -J

    "JobDescription": "",                     # 作业描述 csub -Jd

    "Command": "./calc",                      # 作业命令

    "FromHost": "dev",                        # 递交主机名

    "ResReq": "",                             # 作业资源需求 csub -R

    "Cwd": "test",                            # 作业工作目录(相对于HOME

    "InFile": "",                             # 标准输入文件路径

    "OutFile": "",                            # 标准输出文件路径

    "ErrFile": "",                            # 标准错误文件路径

    "Dependent": "",                          # 作业依赖定义 csub -w

    "CombinedResReq": "1{select[type==\"local\"]order[slots]}",   # 合并系统,队列,和作业的资源需求

    "PreExecCmd": "",                         # 作业前处理命令 csub -E

    "ExitStatus": 0,                          # 作业退出码

    "MinReqSlots": 1,                         # 请求的最小作业槽数 csub -n

    "MaxReqSlots": 1,                         # 请求的最大作业槽数 csub -n

    "RunLimitSec": -1,                        # 作业运行时长限制(秒)csub -W或者队列里的runlimit

    "UserGroup": "test2",                     # 用户组

    "ReqMemGB": 0,                            # 请求的内存预留GB

    "MaxUsedMemGB": 0.0005,                   # 最大使用内存GB

    "ReservedGPUs": 0,                        # 请求的GPU

    "MaxUsedGPUs": 0,                         # 最多使用的GPU

    "PendTimeSec": 0,                         # 作业等待总时长(秒)

    "RunTimeSec": 115                         # 作业运行总时长(秒)

  }