概述

默认的 bjobs 命令输出提供基本的作业信息。当需要额外的作业信息时,可能希望按行显示输出。控制 bjobs 输出格式不仅可以使输出更易于脚本解析,还可以通过仅从 mbatchd 传输所需信息来减少网络流量

三种自定义方式

LSF 支持三种方式自定义作业查询输出:

方式 说明 优先级
LSB_BJOBS_FORMAT 在 lsf.conf 作为默认作业查询输出格式 最低
LSB_BJOBS_FORMAT 环境变量 覆盖 lsf.conf 中的配置
bjobs -o 选项 覆盖环境变量和 lsf.conf 配置 最高

bjobs -o 使用示例

基本格式

显示作业ID和执行主机:

1
2
3
4
5
$ bjobs -o "jobid exec_host"
JOBID EXEC_HOST
2593  lsfrhel02:lsfrhel02:lsfrhel02
2594  lsfrhel02:lsfrhel02:lsfrhel02
2595  lsfrhel02:lsfrhel02:lsfrhel01:lsfrhel01:lsfrhel01

指定字段宽度

使用 :-50 指定字段右对齐,宽度为50个字符:

1
2
3
4
5
$ bjobs -o "jobid exec_host:-50"
JOBID EXEC_HOST
2593  lsfrhel02:lsfrhel02:lsfrhel02
2594  lsfrhel02:lsfrhel02:lsfrhel02
2595  lsfrhel02:lsfrhel02:lsfrhel01:lsfrhel01:lsfrhel01

自定义分隔符

使用 delimiter='/' 指定斜杠作为字段分隔符:

1
2
3
4
5
$ bjobs -o "jobid exec_host delimiter='/'"
JOBID/EXEC_HOST
2593/lsfrhel02:lsfrhel02:lsfrhel02
2594/lsfrhel02:lsfrhel02:lsfrhel02
2595/lsfrhel02:lsfrhel02:lsfrhel01:lsfrhel01:lsfrhel01

LSB_BJOBS_FORMAT 配置

在 lsf.conf 中定义

lsf.conf 中配置默认输出格式:

1
LSB_BJOBS_FORMAT="ID: STAT: QUEUE: USER: NAME: MAX_REQ_PROC: FIRST_HOST: CPU_USED:12 MEM: "

作为环境变量定义

1
export LSB_BJOBS_FORMAT="ID: STAT: QUEUE: USER: NAME: MAX_REQ_PROC: FIRST_HOST: CPU_USED:12 MEM: "

输出效果

1
2
3
4
$ bjobs
JOBID STAT QUEUE  USER  JOB_NAME   MAX_REQ_PROC FIRST_HOST CPU_USED     MEM
2596  RUN  normal user1 testrun    4            lsfrhel01  26 second(s) 2 Mbytes
2597  RUN  normal user1 bigmem_run 100          lsfrhel02  1 second(s)  2 Mbytes

常用字段

字段名 说明
jobid / ID 作业ID
stat / STAT 作业状态
queue / QUEUE 队列名称
user / USER 提交用户
name / NAME 作业名称
exec_host / EXEC_HOST 执行主机
first_host / FIRST_HOST 首执行主机
max_req_proc / MAX_REQ_PROC 最大请求处理器数
cpu_used / CPU_USED CPU使用时间
mem / MEM 内存使用量

格式语法

1
字段名[:宽度]
  • 正数宽度:左对齐
  • 负数宽度:右对齐
  • 示例:CPU_USED:12 表示 CPU_USED 字段宽度为12个字符,左对齐

最佳实践

  1. 脚本解析:使用自定义分隔符使输出更易于脚本解析
  2. 减少网络流量:仅请求需要的字段,减少 mbatchd 到客户端的数据传输
  3. 统一格式:在 lsf.conf 中设置公司范围的默认格式
  4. 临时覆盖:使用 bjobs -o 在不修改配置的情况下临时自定义输出

参考资料

  1. IBM Documentation - Customizing output format and reducing network traffic for job queries
  2. IBM LSF Command Reference - bjobs