巴克特

显示有关已完成作业的记帐统计信息。

概要

bacct [-b | -l [-aff ] [-gpu ] ] [-d ] [-E ] [-e ] [-UF ] [-w ][-x ][-app 应用程序配置文件名称 ] [-C 时间0, 时间1 ][-D 时间0, 时间1 ][-f 日志文件名 | -f - ][-Lp ls_项目名称... ] [-m 主机名... |-M 主机列表文件 ] [-N 主机名 | -N 主机模型 | -N CPU 因子 ] [-P 项目名称... ] [-q 队列名称... ] [-rcacct "all | rc_account_name..." ][-rcalloc "all | rc_account_name..." ] [-sla 服务类别名称... ] [-S 时间0, 时间1 ][-u 用户名... | -uall ][-f 日志文件名 ] [ 作业 ID... ] [-U 预订ID... | -U all ]
bacct [-h | -V]

描述

显示所有已完成作业的记帐统计信息摘要 (带有DONEEXITstatus) 由运行该命令的用户在 LSF 系统中的所有主机,项目和队列上提交。

缺省情况下, bacct 命令显示当前 LSF 记帐日志文件 LSB_SHAREDIR/cluster_name/logdir/lsb.acct中记录的所有作业的统计信息。

CPU 时间未规范化。

所有时间都以秒为单位。

可以通过直接使用 awkperl 来处理 lsb.acct 文件来生成 bacct 命令未报告但个别系统管理员感兴趣的统计信息。

吞吐量计算

要计算 LSF 系统,特定主机或队列的吞吐量 (T) ,请使用以下公式:

T = N/(ET-BT)

其中:

  • N 是要报告记帐统计信息的作业总数
  • BT 是记录第一个作业时的作业开始时间
  • ET 是记录最后一个作业时的作业结束时间

使用选项 -C time0,time1 将作业开始时间指定为 time0 ,结束时间指定为 time1。 通过这种方式,您可以检查特定时间段内的吞吐量。

  • 要计算 LSF 系统的总吞吐量,请指定不带任何 -m-q-S-Djob_ID 选项的 -u all 选项。
  • 要计算主机的吞吐量,请指定 没有 -q-S-Djob_ID 选项的 -u all 选项。
  • 要计算队列的吞吐量,请指定 -u 全部 选项 --S-D作业标识 选项。

仅记录吞吐量计算中涉及的作业 (即,使用DONEEXIT状态)。 不会考虑正在运行,暂挂或在提交后从未分派的作业,因为这些作业仍在 LSF 系统中,并且未记录在 lsb.acct 文件中。

bacct 命令不会显示使用 bkill -b 命令终止的本地暂挂批处理作业。 bacct 命令显示 LSF 多集群功能 作业和本地运行的作业,即使使用 bkill -b 命令将其终止也是如此。

选项

-申明
显示有关作业中每个任务的 CPU 和内存亲缘关系资源需求的信息。 一种表头AFFINITY显示作业中每个任务的详细内存和 CPU 绑定信息,每个分配的处理器单元对应一行。

仅与 -l 选项配合使用。

-b
简要格式。
-E
显示以合格的暂挂时间 (而不是等待时间,周转时间,扩展因子 (周转时间除以运行时间) 和猪因子 (CPU 时间除以周转时间) 的总暂挂时间) 计算的记帐统计信息。
-d
显示成功完成的作业的记帐统计信息 (带有DONE状态)。
-e
显示已退出作业的记帐统计信息 (具有EXIT状态)。
-gpu

在作业完成后, bacct -l -gpu 显示了有关 GPU 作业分配的以下信息:

仅将此选项与 -l 选项配合使用。

主机名
主机的名称。
主机上的 GPU 标识
每个 GPU 都显示为单独的行。
TASK 和标识
使用 GPU 的作业任务和标识的列表 (如果由多个任务使用,请用逗号分隔)
MODEL
包含 GPU 品牌名称和型号类型名称。
总计
GPU 内存总大小。
GPU 计算能力
MRSV
作业保留的 GPU 内存
SOCKET
位于的 GPU 的套接字标识
NVLINK
指示 GPU 是否具有与为作业分配的其他 GPU 的 NVLink 连接 (按 GPU 标识和自身排名)。 每个 GPU 的连接标志是一个用 "/" 与下一个 GPU 分隔的字符:
"Y" 表示两个 GPU 之间存在直接 NVLINK 连接。
"N" 表示没有与该 GPU 的直接 NVLINK 连接。
"-" 显示 GPU 本身。

如果作业由于与 GPU 相关的错误或警告而异常退出,那么将显示错误或警告消息。 如果 LSF 无法从 DCGM 获取 GPU 使用信息,那么连字符 (-) 显示。

-l
长格式。 以多行格式显示每个作业的详细信息。

如果作业是使用 bsub -K 命令提交的,那么将显示 -l 选项Synchronous Execution.

-UF
显示未格式化的作业详细信息。

此选项使您能够轻松编写用于在 bacct上解析关键字的脚本。 此选项的结果对输出没有广泛的控制。 每行从行首开始。 以时间戳记开头的所有行都将在单行中无格式显示。 输出没有行长和格式控制。

-w
宽字段格式。
-x
显示触发了作业异常 (overrun , underrun , idle 和 runtime_est_over) 的作业。 与 -l 选项配合使用以显示个别作业的异常状态。
-app 应用程序配置文件名称
显示有关提交到指定应用程序概要文件的作业的记帐信息。 必须指定在 lsb.applications中配置的现有应用程序概要文件。
-C 时间0,时间1
显示在指定时间间隔内完成或退出的作业的记帐统计信息。 读取 lsb.acct 文件和所有归档日志文件 (lsb.acct.n) ,除非使用 -f 选项指定日志文件。

时间格式与 bhist 命令中的格式相同。

-D 时间0,时间1
显示在指定时间间隔内分派的作业的记帐统计信息。 读取 lsb.acct 文件和所有归档日志文件 (lsb.acct.n) ,除非还使用 -f 选项来指定日志文件。

时间格式与 bhist 命令中的格式相同。

-f logfile_name | -f -
搜索指定的作业日志文件以获取记帐统计信息,这对于脱机分析很有用。 指定绝对路径或相对路径。

对于 UNIX ,指定的文件路径最多可以包含 4094 个字符,对于 Windows ,最多可以包含 512 个字符。

指定 -f- 选项以强制 bacct 命令将 lsb.acct 日志文件用于记帐统计信息。 如果您正在使用 IBM® Spectrum LSF Explorer ("LSF Explorer") 要装入记帐日志记录, -f- 选项 (或指定日志文件的任何 -f 参数) 将强制 bacct 命令绕过 LSF Explorer 有关使用 LSF Explorer 装入记帐日志记录的更多详细信息,请参阅 lsf.conf 文件中的 LSF_QUERY_ES_SERVERSLSF_QUERY_ES_FUNCTIONS 参数。

-Lp ls_project_name...
显示属于指定 LSF License Scheduler 项目的作业的记帐统计信息。 如果指定了项目列表,那么项目名称必须用空格分隔并括在引号 (") 或 (') 中。
-M 主机列表文件
显示分派到包含主机列表的文件 (host_list_file) 中列出的主机的作业的记帐统计信息。 主机列表文件具有以下格式:
  • 支持多行
  • 每行包含一列以空格分隔的主机
  • 每行的长度必须少于 512 个字符
-m host_name...
显示分派到指定主机的作业的记帐统计信息。

如果指定了主机列表,那么主机名必须用空格分隔并括在引号 (") 或 (') 中,并且最大长度不能超过 1024 个字符。

-N host_name | -N host_model | -N cpu_factor
按指定主机或主机型号的 CPU 因子或按指定 CPU 因子规范化 CPU 时间。

如果通过指示作业日志文件以脱机方式使用 bacct 命令,那么必须指定 CPU 因子。

-P project_name...
显示属于指定项目的作业的记帐统计信息。 如果指定了项目列表,那么项目名称必须用空格分隔并括在引号 (") 或 (') 中。 不能使用一个双引号 (") 和一个单引号 (') 将列表括起来。
-q queue_name...
显示提交到指定队列的作业的记帐统计信息。

如果指定了队列列表,那么队列名称必须用空格分隔,并用引号 (") 或 (') 括起。

-rcacct "all | rc_account_name..."
显示与指定的 LSF 资源连接器帐户名称关联的作业的记帐统计信息。

如果指定了帐户名称列表,那么帐户名称必须以空格分隔。

-rcalloc "all | rc_account_name..."
显示与指定的 LSF 资源连接器帐户名关联并在 LSF 资源连接器主机上实际运行的作业的记帐统计信息。

如果指定了帐户名称列表,那么帐户名称必须以空格分隔。

-S 时间0,时间1
显示在指定时间间隔内提交的作业的记帐统计信息。 读取 lsb.acct 文件和所有归档日志文件 (lsb.acct.n) ,除非还使用 -f 选项来指定日志文件。

时间格式与 bhist 命令中的格式相同。

-sla 服务类名
显示在指定服务类下运行的作业的记帐统计信息。

如果在 lsb.params 文件中使用 ENABLE_DEFAULT_EGO_SLA 参数配置了缺省系统服务类,但未在 lsb.applications 文件中显式配置,那么 bacct -sla service_class_name 命令将显示指定缺省服务类的记帐信息。

-U reservation_id ...| -U 全部
显示指定的提前预留标识或所有预留标识 (如果指定了关键字 all ) 的记帐统计信息。

预留标识的列表必须用空格分隔,并用引号 (") 或 (') 括起。

-U 选项还显示有关保留修改的历史信息。

-U 选项组合使用时, -u 选项将解释为预留创建者的用户名。 以下命令显示用户 user2创建的所有提前预留:
bacct -U all -u user2

如果没有 -u 选项,那么 bacct -U 命令将显示有关用户提交的作业的所有高级预留信息。

LSF 多集群功能 环境中,高级预留信息仅记录在执行集群中,因此 bacct 仅显示本地预留的高级预留信息。 您无法查看有关远程预留的信息。 不能指定远程预留标识,关键字 all 仅显示有关本地集群中预留的信息。

-u user_name...|-u all
显示指定用户或所有用户 (如果指定了关键字 all ) 提交的作业的记帐统计信息。

如果指定了用户列表,那么用户名必须用空格分隔并括在引号 (") 或 (') 中。 可以在用户列表中同时指定用户名和用户标识。

job_ID...
显示具有指定作业标识的作业的记帐统计信息。

如果使用保留作业标识 0 ,那么将忽略该标识。

LSF 多集群功能 作业转发方式下,可以使用本地作业标识和集群名称从远程集群检索作业详细信息。

常规查询具有以下语法:

bacct submission_job_id@submission_cluster_name
作业数组具有以下查询语法:
bacct "submission_job_id[index]"@submission_cluster_name"

使用 submission_job_id@submission_cluster_name 而不是 bacct -l job_ID 的优点是,您可以使用 submission_job_id@submission_cluster_name 作为别名来查询执行集群中的本地作业,而不知道执行集群中的本地作业标识。 无论您使用哪个作业标识 (本地作业标识或 submission_job_id@submission_cluster_name ) , bacct 输出都是相同的

您可以使用 bacct 0 命令来查找本地集群中的所有已完成作业,但不支持 bacct 0@submission_cluster_name

-h
将命令用法打印到 stderr 并退出。
-V
LSF 发行版打印到 stderr 并退出。

缺省输出格式 (SUMMARY)

有关作业的统计信息。 将显示以下字段:

  • 已完成的作业总数。
  • 已退出的作业总数。
  • 耗用的总 CPU 时间。
  • 平均耗用的 CPU 时间。
  • 作业的最大 CPU 时间。
  • 作业的最小 CPU 时间。
  • 内存和 CPU 使用率信息,例如 CPU 效率, CPU 峰值使用率和内存效率值。
  • 队列中的总等待时间。
  • 队列中的平均等待时间,即从作业提交到作业分派的耗用时间。
  • 队列中的最长等待时间。
  • 队列中的最短等待时间。
  • 平均周转时间,即从作业提交到作业完成所耗用的时间 (每个作业的秒数)。
  • 最大周转时间。
  • 最短周转时间。
  • 作业的平均猪因子,即作业所耗用的 CPU 时间量除以其周转时间 (CPU 时间除以周转时间)。
  • 作业的最大猪因子。
  • 作业的最小猪因子。
  • 作业的平均扩展因子,即其周转时间除以其运行时间 (周转时间除以运行时间)。
  • 作业的最大扩展因子。
  • 作业的最小扩展因子。
  • 耗用的总运行时间。
  • 耗用的平均运行时间。
  • 作业的最大运行时间。
  • 作业的最短运行时间。
  • 总吞吐量,即完成的作业数除以完成这些作业的时间段 (作业/小时)。
  • 开始时间,即所选择的第一个作业的完成或退出时间。
  • 结束时间,即所选择的最后一个作业的完成或退出时间。
  • 集群中一组已完成作业的调度程序效率。 对于每个作业,其调度程序效率是作业的运行时间除以其总运行时间和调度程序开销时间 (运行时间/(运行时间 + 调度程序开销))。 整体调度程序效率是所有作业的平均调度程序效率。 bacct 命令显示插槽和内存资源的调度程序效率。

所有指定作业的总计,平均值,最小值和最大值统计信息。

输出:简要格式 (-b)

除缺省格式外SUMMARY,显示以下字段:

U/UID
提交作业的用户的名称。 如果 LSF 无法通过 getpwuid获取用户名,那么将显示用户标识。
队列
作业已提交到的队列。
提交时间
提交作业的时间。
CPU_T
作业所耗用的 CPU 时间。
等待
作业的等待时间。
转向
作业的周转时间。
FROM
从中提交作业的主机。
执行
作业已分派到其中运行的一个或多个主机。
JOB_NAME
用户分配的作业名,或者缺省情况下使用 bsub 命令在作业提交时分配的命令字符串。 如果作业名太长而无法在此字段中显示,那么将仅显示作业名的后一部分。

显示的作业名或作业命令最多可包含 4094 个字符。

输出:长格式 (-l)

还显示基于主机的记帐信息 (CPU_T,MEMSWAP) 用于在 lsf.conf 文件中设置 LSF_HPC_EXTENSIONS="HOST_RUSAGE" 参数时完成的作业。

除缺省情况下显示的字段外,SUMMARY并通过 -b 选项显示以下字段:

jobID
LSF 分配给作业的标识。
project_name
分配给作业的项目名称。
状态
指示作业已成功完成的状态 (DONE状态) 或已退出 (EXIT状态)。
有争议的时间
分派作业以在执行主机上运行的时间。
完成时间
作业退出或完成的时间。
HOG_FACTOR
平均猪因子,等于 CPU_time / turnaround_time
MEM
作业中所有进程的最大驻留内存使用量。 缺省情况下,内存使用情况以 MB 为单位显示。 使用 lsf.conf 文件中的 LSF_UNIT_FOR_LIMITS 参数来指定更大的显示单元 (MB , GB , TB , PB 或 EB)。
CWD
作业的当前工作目录 (CWD) 的完整路径。
指定 CWD
用户指定的执行 CWD。
SWAP
作业中所有进程的最大虚拟内存使用率。 缺省情况下,交换空间以 MB 为单位显示。 使用 lsf.conf 文件中的 LSF_UNIT_FOR_LIMITS 参数来指定更大的显示单元 (MB , GB , TB , PB 或 EB)。
Cpu_peak
作业所使用的 CPU 数的峰值。
CPU 效率 (从 FP14 开始,称为 CPU 峰值效率)
使用以下公式计算 CPU 效率 (或 FP14 的 CPU 峰值) 的百分比:
CPU EFFICIENCY = (CPU_PEAK / CPU_REQUESTED) * 100%
CPU 平均效率
CPU 平均效率的百分比是使用以下公式计算的:
CPU AVERAGE EFFICIENCY = (CPU_TIME / (JOB_RUN_TIME * CPU_REQUESTED)) * 100%
CPU 峰值持续时间
CPU 使用率达到正在运行的作业的 CPU 峰值的持续时间 (以秒计)。
内存效率
使用以下公式计算内存效率的百分比:
MEM_EFFICIENCY = (MAX_MEM / (REQUESTED_MEM * MAX_EXECUTION_HOSTS_NUMBER))* 100%
输入文件
作业从中读取其标准输入的文件 (请参阅 bsub -i input_file)。
output_file
作业将其标准输出写入的文件 (请参阅 bsub -o output_file)。
错误文件
作业存储其标准错误输出的文件 (请参阅 bsub -e err_file)。
异常状态
作业的异常状态包含以下可能的值:
空闲
该作业耗用的 CPU 时间少于预期。 作业空闲因子 (CPU_time/run_time) 小于为队列配置的 JOB_IDLE 阈值,并且已触发作业异常。
过速
作业运行时间超过队列的 JOB_OVERRUN 阈值指定的分钟数,并且已触发作业异常。
欠载运行
作业完成时间早于队列的 JOB_UNDERRUN 阈值指定的分钟数,并且触发了作业异常。
已超过runtime_est_额
作业的运行时间超过运行时估算指定的分钟数,并且已触发作业异常。
同步执行
已使用 -K 选项提交作业。 LSF 提交作业并等待作业完成。
作业描述
用户在使用 bsub提交作业时分配的作业描述。 如果未指定任何作业描述,那么将省略此字段。

显示的作业描述最多可包含 4094 个字符。

主机上已派发的<编号>任务
作业中的任务数以及将这些任务发送到其中进行处理的主机数。 当 ifLSB_ENABLE_HPC_ALLOCATION 参数在 lsf.conf 文件中设置为 Yy 时显示。
主机上分配的<编号>插槽
根据任务数以及分配了这些插槽的主机,分配给作业的插槽数。 当 LSB_ENABLE_HPC_ALLOCATION 参数在 lsf.conf 文件中设置为 Yy 时显示。
有效 RES_REQ
显示在解析任何 OR 构造后调度程序所看到的作业的有效资源需求。

输出:预先保留 (-U)

显示以下字段:

RSVID
brsvadd 命令分配的高级预留标识。
类型
保留类型:usersystem.
CREATOR
提交了 brsvadd 命令的高级预留创建者的用户名。
用户
使用 bsub -U 命令提交作业的高级预留用户的用户名。
全国委员会
保留的 CPU 数。
RSV_主机
为其保留处理器的主机的列表,以及保留的处理器数。
时间窗口
预留的时间窗口。
  • 一次性预留显示以斜杠 (month/day/hour/minute).
    11/12/14/0-11/12/18/0
  • 重现预留显示以冒号分隔的字段 (day:hour:minute).
    5:18:0 5:20:0

输出:亲和资源需求信息 (-l -aff)

使用 -l -aff 选项来显示有关作业任务的 CPU 和内存亲缘关系资源分配的记帐作业信息。 带有标题的表AFFINITY显示包含每个任务的详细亲缘关系信息,每个分配的处理器单元对应一行。 CPU 绑定和内存绑定信息显示在屏幕中的单独列中。

主机
正在运行任务的主机。
类型
为 CPU 绑定请求的处理器单元类型。 之一numa,socket,core,或thread.
级别
请求的处理器单元绑定级别用于 CPU 绑定。 之一numa,socket,core,或thread. 如果未请求 CPU 绑定级别,请使用短划线 (-) 显示。
Excl
请求的处理器单元绑定级别用于互斥 CPU 绑定。 之一numa,socket,core,或thread. 如果未请求互斥绑定级别,请使用短划线 (-) 显示。
IDS
任务的 CPU 分配的物理或逻辑标识列表。

该列表由一组路径组成,表示为由斜杠字符 (/) ,通过主机的拓扑树。 每个路径标识分配给任务的唯一处理单元。 例如,表单的字符串3/0/5/12表示对 NUMA 节点 3 中套接字 0 的核心 5 中线程 12 的分配。 表单的字符串2/1/4表示对 NUMA 节点 2 中套接字 1 的核心 4 的分配。 整数对应于拓扑树中从 bhosts -aff显示的节点标识号。

POL
请求的内存绑定策略。 任一localpref如果未请求内存绑定,-
NUMA
任务内存绑定到的 NUMA 节点的标识。 如果未请求内存绑定,那么会使用短划线 (-) 显示。
大小
为 NUMA 节点上的任务分配的内存量。
例如,以下作业启动具有以下亲缘关系资源需求的 6 任务:
bsub -n 6 -R"span[hosts=1] rusage[mem=100]affinity[core(1,same=socket,
exclusive=(socket,injob)):cpubind=socket:membind=localonly:distribute=pack]" myjob
Job <6> is submitted to default queue <normal>.
bacct -l -aff 6

Accounting information about jobs that are:
  - submitted by all users.
  - accounted on all projects.
  - completed normally or exited
  - executed on all hosts.
  - submitted to all queues.
  - accounted on all service classes.
------------------------------------------------------------------------------

Job <6>, User <user1>, Project <default>, Status <DONE>, Queue <normal>, Comma
                     nd <myjob>
Thu Feb 14 14:13:46: Submitted from host <hostA>, CWD <$HOME>;
Thu Feb 14 14:15:07: Dispatched 6 Task(s) on Host(s) <hostA> <hostA> <hostA>
                     <hostA> <hostA> <hostA>; Allocated <6> Slot(s) on Host(s)
                     <hostA> <hostA> <hostA> <hostA> <hostA> <hostA>;
                     Effective RES_REQ <select[type == local] order[r15s:pg]
                     rusage[mem=100.00] span[hosts=1] affinity
                     [core(1,same=socket,exclusive=(socket,injob))*1:cpubind=
                     socket:membind=localonly:distribute=pack] >
                     ;
Thu Feb 14 14:16:47: Completed <done>.

AFFINITY:
                    CPU BINDING                          MEMORY BINDING
                    ------------------------             --------------------
HOST                TYPE   LEVEL  EXCL   IDS             POL   NUMA SIZE
hostA               core   socket socket /0/0/0          local 0    16.7MB
hostA               core   socket socket /0/1/0          local 0    16.7MB
hostA               core   socket socket /0/2/0          local 0    16.7MB
hostA               core   socket socket /0/3/0          local 0    16.7MB
hostA               core   socket socket /0/4/0          local 0    16.7MB
hostA               core   socket socket /0/5/0          local 0    16.7MB

Accounting information about this job:
     CPU_T     WAIT     TURNAROUND   STATUS     HOG_FACTOR    MEM    SWAP   
      0.01      81       181          done       0.0001        2M     137M
     CPU_PEAK    CPU_PEAK_DURATION    CPU_PEAK_EFFICIENCY
      4.24        54 second(s)         106.02%
     CPU_AVG_EFFICIENCY     MEM_EFFICIENCY
      99.55%                 0.00%
------------------------------------------------------------------------------

SUMMARY:      ( time unit: second )
 Total number of done jobs:       1      Total number of exited jobs:     0
 Total CPU time consumed:       0.0      Average CPU time consumed:     0.0
 Maximum CPU time of a job:     0.0      Minimum CPU time of a job:     0.0
 Total wait time in queues:    81.0
 Average wait time in queue:   81.0
 Maximum wait time in queue:   81.0      Minimum wait time in queue:   81.0
 Average turnaround time:       181 (seconds/job)
 Maximum turnaround time:       181      Minimum turnaround time:       181
 Average hog factor of a job:  0.00 ( cpu time / turnaround time )
 Maximum hog factor of a job:  0.00      Minimum hog factor of a job:  0.00
 Average expansion factor of a job:  1.00 (turnaround time/run time)
 Maximum expansion factor of a job:  1.00   Minimum expansion factor of a job:  1.00
...

bacct 显示的终止原因

LSF 检测到作业已终止时, bacct -l 将显示下列其中一个终止原因。 记录到以下位置的相应退出码整数值:JOB_FINISHlsb.acct 文件中的记录在括号中给出。

  • TERM_ADMIN: 作业已由 root 用户或 LSF 管理员终止 (15)
  • TERM_BUCKET_KILL: 作业已使用 bkill -b 命令 (23) 终止
  • TERM_CHKPNT: 作业在检查点后被杀死 (13)
  • TERM_CWD_NOTEXIST: 当前工作目录不可访问或在执行主机上不存在 (25)
  • TERM_CPULIMIT: 作业已在达到 LSF 个 CPU 使用限制 (12 个) 后终止
  • TERM_DEADLINE: 作业在截止期限到期后终止 (6)
  • TERM_EXTERNAL_SIGNAL: 作业已被 LSF (17) 外部的信号终止
  • TERM_FORCE_ADMIN: 作业已由 root 用户或 LSF 管理员终止,但没有时间进行清除 (9)
  • TERM_FORCE_OWNER: 作业已被所有者终止,但没有时间进行清除 (8)
  • TERM_LOAD: 作业在装入超过阈值 (3) 后终止
  • TERM_MEMLIMIT: 作业已在达到 LSF 内存使用限制 (16) 后终止
  • TERM_ORPHAN_SYSTEM: 孤线程作业已由 LSF 自动终止 (27)
  • TERM_OWNER: 作业被所有者杀死 (14)
  • TERM_PREEMPT: 作业在抢占后已终止 (1)
  • TERM_PROCESSLIMIT: 作业已在达到 LSF 进程限制 (7) 后终止
  • TERM_REMOVE_HUNG_JOB: 作业在达到作业运行时限制 (26) 后已从 LSF 系统中除去
  • TERM_REQUEUE_ADMIN: 作业已被 root 用户或 LSF 管理员终止并重新排队 (11)
  • TERM_REQUEUE_OWNER: 作业已被所有者杀死并重新排队 (10)
  • TERM_RUNLIMIT: 作业已在达到 LSF 运行时限制 (5) 后终止
  • TERM_SWAP: 作业在达到 LSF 交换使用限制 (20) 后终止
  • TERM_THREADLIMIT: 作业在达到 LSF 线程限制 (21) 后被终止
  • TERM_UNKNOWN: LSF 无法确定终止原因。 已记录 0 ,但TERM_UNKNOWN未显示 (0)
  • TERM_WINDOW: 在队列运行窗口关闭 (2) 后已终止作业
  • TERM_ZOMBIE: 在 LSF 不可用时作业退出 (19)
提示: 记录到JOB_FINISH将在 lsbatch.h 头文件中映射 lsb.acct 文件中的记录和终止原因关键字。

示例: 缺省格式

bacct 
Accounting information about jobs that are: 
  - submitted by users user1. 
  - accounted on all projects.
  - completed normally or exited.
  - executed on all hosts.
  - submitted to all queues.
  - accounted on all service classes.
--------------------------------------------------------------
SUMMARY:      ( time unit: second ) 
Total number of done jobs:     268      Total number of exited jobs:    31 
Total CPU time consumed:     566.4      Average CPU time consumed:     1.9 
Maximum CPU time of a job:   229.9      Minimum CPU time of a job:     0.0 
Total wait time in queues:   393.0 
Average wait time in queue:    1.3 
Maximum wait time in queue:   97.0      Minimum wait time in queue:    0.0 
Average turnaround time:        32 (seconds/job) 
Maximum turnaround time:       301      Minimum turnaround time:         0 
Average hog factor of a job:  0.16 ( cpu time / turnaround time ) 
Maximum hog factor of a job:  0.91      Minimum hog factor of a job:  0.00 
 Average expansion factor of a job:  1.13 (turnaround time/run time)
 Maximum expansion factor of a job:  2.04   Minimum expansion factor of a job:  1.00
Total Run time consumed:      9466      Average Run time consumed:      31 
 Maximum Run time of a job:     300      Minimum Run time of a job:       0 
Total throughput:           122.17 (jobs/hour)  during    2.45 hours 
Beginning time:       Oct 20 13:40      Ending time:          Oct 20 16:07

示例: 具有触发的作业异常的作业

bacct -x -l

Accounting information about jobs that are: 
  - submitted by users user1, 
  - accounted on all projects.
  - completed normally or exited
  - executed on all hosts.
  - submitted to all queues.
  - accounted on all service classes.
---------------------------------------------------------
Job <1743>, User <user1>, Project <default>, Status <DONE>, Queue <normal>,  Command<sleep 30>
Mon Aug 11 18:16:17 2009: Submitted from host <hostB>, CWD <$HOME/jobs>, Output File </dev/null>;
Mon Aug 11 18:17:22 2009: Dispatched to <hostC>; Effective RES_REQ <select[(hname = delgpu3 ) && 
											 (type == any)] order[r15s:pg]>;
Mon Aug 11 18:18:54 2009: Completed <done>.
 EXCEPTION STATUS:  underrun 

Accounting information about this job:
     CPU_T     WAIT     TURNAROUND   STATUS     HOG_FACTOR    MEM    SWAP
      0.19      65       157          done       0.0012        4M     5M
     CPU_PEAK    CPU_PEAK_DURATION    CPU_PEAK_EFFICIENCY
      4.24        54 second(s)         106.02%
     CPU_AVG_EFFICIENCY     MEM_EFFICIENCY
      99.55%                 0.00%
------------------------------------------------------------
Job <1948>, User <user1>, Project <default>, Status <DONE>, Queue <normal>,Command <sleep 550>, 
Job Description <This job is a test job.>
Tue Aug 12 14:15:03 2009: Submitted from host <hostB>, CWD <$HOME/jobs>, Output File </dev/null>;
Tue Aug 12 14:15:15 2009: Dispatched to <hostC>; Effective RES_REQ <select[(hname = delgpu3 ) && 
											 (type == any)] order[r15s:pg]>;
Tue Aug 12 14:25:08 2009: Completed <done>.
 EXCEPTION STATUS:  overrun  idle 

Accounting information about this job:
     CPU_T     WAIT     TURNAROUND   STATUS     HOG_FACTOR    MEM    SWAP
      0.20      12       605          done       0.0003        4M     5M
     CPU_PEAK    CPU_PEAK_DURATION    CPU_PEAK_EFFICIENCY
      4.24        54 second(s)         106.02%
     CPU_AVG_EFFICIENCY     MEM_EFFICIENCY
      99.55%                 0.00%
-------------------------------------------------------------
Job <1949>, User <user1>, Project <default>, Status <DONE>, Queue <normal>,Command <sleep 400>
Tue Aug 12 14:26:11 2009: Submitted from host <hostB>, CWD <$HOME/jobs>, Output File </dev/null>;
Tue Aug 12 14:26:18 2009: Dispatched to <hostC>; Effective RES_REQ <select[(hname = delgpu3 )
											 && (type == any)] order[r15s:pg]>;
Tue Aug 12 14:33:16 2009: Completed <done>.
 EXCEPTION STATUS:  idle 

Accounting information about this job:
     CPU_T     WAIT     TURNAROUND   STATUS     HOG_FACTOR    MEM    SWAP
      0.17       7       425          done       0.0004        4M     5M
     CPU_PEAK    CPU_PEAK_DURATION    CPU_PEAK_EFFICIENCY
      4.24        54 second(s)         106.02%
     CPU_AVG_EFFICIENCY     MEM_EFFICIENCY
      99.55%                 0.00%
Job <719[14]>, Job Name <test[14]>, User <user1>, Project <default>, Status <EXIT>, Queue <normal>, 
Command </home/user1/job1>, Job Description <This job is another test job.>
Mon Aug 18 20:27:44 2009: Submitted from host <hostB>, CWD <$HOME/jobs>, Output File </dev/null>;
Mon Aug 18 20:31:16 2009: [14] dispatched to <hostA>; Effective RES_REQ <select[(hname = delgpu3 )
											  && (type == any)] order[r15s:pg]>;
Mon Aug 18 20:31:18 2009: Completed <exit>.
 EXCEPTION STATUS:  underrun 

Accounting information about this job:
     CPU_T     WAIT     TURNAROUND   STATUS     HOG_FACTOR    MEM    SWAP
      0.19      212      214          exit       0.0009        2M     4M
     CPU_PEAK    CPU_PEAK_DURATION    CPU_PEAK_EFFICIENCY
      4.24        54 second(s)         106.02%
     CPU_AVG_EFFICIENCY     MEM_EFFICIENCY
      99.55%                 0.00%
--------------------------------------------------------------
SUMMARY:      ( time unit: second ) 
 Total number of done jobs:      45      Total number of exited jobs:    56
 Total CPU time consumed:    1009.1      Average CPU time consumed:    10.0
 Maximum CPU time of a job:   991.4      Minimum CPU time of a job:     0.1
 Total wait time in queues: 116864.0
 Average wait time in queue: 1157.1
 Maximum wait time in queue: 7069.0      Minimum wait time in queue:    7.0
 Average turnaround time:      1317 (seconds/job)
 Maximum turnaround time:      7070      Minimum turnaround time:        10
 Average hog factor of a job:  0.01 ( cpu time / turnaround time )
 Maximum hog factor of a job:  0.56      Minimum hog factor of a job:  0.00
 Average expansion factor of a job: 4.6 (turnaround time/run time)
 Maximum expansion factor of a job: 10.2 Minimum expansion factor of a job: 1.00
 Total Run time consumed:     28987      Average Run time consumed:     287 
 Maximum Run time of a job:    6743      Minimum Run time of a job:       2 
 Total throughput:             0.59 (jobs/hour)  during  170.21 hours
 Beginning time:       Aug 11 18:18      Ending time:          Aug 18 20:31

示例: 提前预留记帐信息

bacct -U user1#2
Accounting for:
  - advance reservation IDs: user1#2
  - advance reservations created by user1
-------------------------------------------------------- -----------
RSVID       TYPE      CREATOR    USER    NCPUS       RSV_HOSTS     TIME_WINDOW
user1#2     user      user1      user1   1           hostA:1       9/16/17/36-9/16/17/38
SUMMARY:
Total number of jobs:         4
Total CPU time consumed:      0.5 second
Maximum memory of a job:      4.2 MB
Maximum swap of a job:        5.2 MB
Total duration time:          0 hour    2 minute    0 second

示例 :LSF 作业终止原因日志记录

当作业完成时, LSF 会报告它对该作业执行的最后一个作业终止操作,并将其记录到 lsb.acct 文件中。

如果正在运行的作业由于节点故障而退出,那么 LSF 会在 lsb.acctlsb.events和作业输出文件中设置正确的退出信息。

使用 bacct -l 命令来查看记录到 lsb.acct 文件中的作业出口信息:
bacct -l 7265

Accounting information about jobs that are: 
  - submitted by all users.
  - accounted on all projects.
  - completed normally or exited
  - executed on all hosts.
  - submitted to all queues.
  - accounted on all service classes.
--------------------------------------------------------- ---------
Job <7265>, User <lsfadmin>, Project <default>, Status <EXIT>, Queue <normal>, Command 
<srun sleep 100000>, Job Description <This job is also a test job.>
Thu Sep 16 15:22:09 2009: Submitted from host <hostA>, CWD <$HOME>;
Thu Sep 16 15:22:20 2009: Dispatched to 4 Hosts/Processors <4*hostA>;
Thu Sep 16 15:23:21 2009: Completed <exit>; TERM_RUNLIMIT: job killed after reaching LSF run time limit.

Accounting information about this job:
     Share group charged </lsfadmin>
     CPU_T     WAIT     TURNAROUND   STATUS     HOG_FACTOR    MEM    SWAP
      0.04      11        72          exit       0.0006        0K     0K
     CPU_PEAK    CPU_PEAK_DURATION    CPU_PEAK_EFFICIENCY
      4.24        54 second(s)         106.02%
     CPU_AVG_EFFICIENCY     MEM_EFFICIENCY
      99.55%                 0.00%
--------------------------------------------------------------------
SUMMARY:      ( time unit: second ) 
 Total number of done jobs:       0      Total number of exited jobs:     1
 Total CPU time consumed:       0.0      Average CPU time consumed:     0.0
 Maximum CPU time of a job:     0.0      Minimum CPU time of a job:     0.0
 Total wait time in queues:    11.0
 Average wait time in queue:   11.0
 Maximum wait time in queue:   11.0      Minimum wait time in queue:   11.0
 Average turnaround time:        72     (seconds/job)
 Maximum turnaround time:        72      Minimum turnaround time:        72
 Average hog factor of a job:  0.00     (cpu time / turnaround time )
 Maximum hog factor of a job:  0.00      Minimum hog factor of a job:  0.00

 ...

示例: 残差作业信息

使用 bacct -l 命令可查看记录到 lsb.acct 文件中的可调整大小的作业信息:
  • 如果指定了 bsub -arbsub -rnc resize_notification_command 命令,那么这是作业的可自动调整大小属性和调整大小通知命令。
  • 每当作业分配发生更改时JOB_RESIZE事件将记录到 lsb.acct 文件中。
当分配增长时, bacct 命令会显示:
Additional allocation on <num_hosts> Hosts/Processors <host_list>
当分配收缩时, bacct 命令会显示:
Release allocation on <num_hosts> Hosts/Processors <host_list> by user or
administrator <user_name>
Resize notification accepted;
对于以下作业,正在提交:
bsub -n 1, 5 -ar myjob

初始分配开启hostAhostB. 第一个调整大小请求分配于hostChostD. 第二个调整大小请求分配于hostE. bacct -l 命令具有以下输出:

bacct -l 205

Accounting information about jobs that are:
  - submitted by all users.
  - accounted on all projects.
  - completed normally or exited
  - executed on all hosts.
  - submitted to all queues.
  - accounted on all service classes.
-------------------------------------------------
Job <1150>, User <user2>, Project <default>, Status <DONE>, Queue <normal>, Command 
<sleep 10>, Job Description <This job is a test job.>
Mon Jun  2 11:42:00 2009: Submitted from host <hostA>, CWD <$HOME>;
Mon Jun  2 11:43:00 2009: Dispatched 6 Task(s) on Host(s) <hostA> <hostB>, 
                          Allocated 6 Slot(s) on Host(s) <hostA> <hostB>,
                          Effective RES_REQ <select[(hname = delgpu3 ) && 
                          (type == any)] order[r15s:pg]>;
Mon Jun  2 11:43:52 2009: Added 2 Task(s) on Host(s) 2 Hosts/Processors 
                          <hostC> <hostD>, 2 additional Slot(s) allocated 
                          on Host(s) <hostC> <hostD>
Mon Jun  2 11:44:55 2009: Additional allocation on <hostC> <hostD>;
Mon Jun  2 11:51:40 2009: Completed <done>.
...

文件

读取 lsb.acctlsb.acct.n 文件。

另请参阅

bhist, bsub, bjobs, lsb.acct, brsvadd, brsvs, bsla, lsb.serviceclasses