命令
版本: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 会显示发出该命令并登录到所有 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_T:CPU 总时间(秒)
- MAX.MEM:已用最大内存(MB)
- WAIT:作业待处理时间
- TURNAROUND:作业周转时间(秒)
- STATUS:DONE 或 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 # 作业运行总时长(秒)
}