姓名

cjobs——显示有关 AIP 作业的信息 

版本:10.25.0

概要

cjobs [ -a ] [ -A ] [ -w | -l | -j | -o “格式”-UF ] [ -WL | -WP | -WF ] [ -J 作业名称] [ -app 配置文件名称] [ -m 主机名-m 主机组] [ -M ] [ -N 主机名-N 主机型号-N CPU 因子] [ -P项目名称] [ -g 作业组名称] [ -q 队列名称] [ -u用户名-u 用户组-u all]作业 ID ...

cjobs [ -d ] [ -p ] [ -r ] [ -s ] [ -A ] [ -w | -l | -UF ] [ -J 作业名称] [ -app 配置文件名称] [ -m 主机名-m 主机组] [ -M ] [ -N主机名 | -N主机型号 | -N CPU因子] [ -P项目名称] [ -g作业组名称] [ -q队列名称] [ -u用户名-u用户组-u all]作业 ID ...

cjobs [ -d ] [ -p ] [ -r ] [ -s ] [ -A ] [ -noheader ] [ -J 作业名称] [ -app 配置文件名称] [ -m 主机名-m 主机组] [ -M ] [ -N 主机名-N主机型号-N CPU 因子] [ -P项目名称] [ -g 作业组名称] [ -q 队列名称] [ -u用户名-u 用户组-u all]作业 ID ... cjobs [ -h | -V ]  

描述

显示有关作业的信息。

默认情况下,显示有关您自己的待处理、正在运行和暂停的作业的信息。

要显示较旧的历史信息,请使用 chist 

选项

-a

显示 cb.yaml CLEAN_PERIOD 指定的时间间隔内(默认为 4000秒)所有状态的作业信息,包括最近完成的作业。

-A

显示有关作业阵列的摘要信息。如果您使用作业阵列 ID 指定作业阵列,并且还指定 -A,则不要包含带有作业阵列 ID 的索引列表。

如果需要,您可以使用 -w 来显示完整的数组规范。

-app 配置文件名称

仅显示与职位配置文件名称匹配的职位。参数profile_name可以以通配符“*”开头或结尾,例如“*proj123”、“proj*”。

-d

显示在 cb.yaml CLEAN_PERIOD 指定的时间间隔内(默认周期为 1 小时)最近完成的作业的信息。

-p

显示待处理作业,以及导致每个作业在上一轮调度中未调度的待处理原因。待处理原因会显示导致该作业调度的主机数量;如果同时指定了 -l 选项,则会显示主机名称。

每个待处理原因都与一个或多个主机相关联,并说明这些主机未分配用于运行作业的原因。在作业请求特定主机(使用 csub -m)的情况下,用户可能会看到不相关主机的原因以及与所请求主机相关的原因一同显示。待处理原因的生命周期在新的调度轮次开始后结束。该原因可能无法反映当前的负载情况,因为它的持续时间可能与 cb.yaml SCHED_INTERVAL指定的时间间隔一样长。

当作业阵列达到作业槽限制(csub -J "jobArray[indexList]%job_slot_limit")时,将显示以下消息:The job array has reached its job slot limit.

-r

显示正在运行的作业。

-s

显示暂停的作业以及导致每个作业暂停的暂停原因。

作业暂停期间,暂停原因可能不会保持不变。例如,某个作业可能由于分页率(pg)而暂停,但分页率下降后,另一个负载指标可能会阻止该作业恢复。暂停原因将根据负载指标进行更新。原因可能与 cb.yaml JM_INTERVAL 指定的时间间隔一样早。因此,显示的原因可能无法反映当前的负载情况。

-W

提供以下资源使用情况信息:PROJ_NAMECPU_USEDMEMSWAPPIDSSTART_TIMEFINISH_TIME。仅当您未以管理员身份登录时才显示属于您的作业。

-WF

显示使用 -W 选项(运行限制)提交的正在运行作业的预计完成时间。对于已完成或已退出的作业,显示实际完成时间。

-WL

显示使用 -W 选项(运行限制)提交的作业的估计剩余运行时间。

-WP

显示使用 -W 选项(运行限制)提交的作业的当前估计完成百分比。

-w

宽格式。显示作业信息而不截断字段。

-l

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

-l 选项显示以下附加信息:项目名称、作业命令、提交主机上的当前工作目录、待处理和暂停原因、作业状态、资源使用情况、资源限制信息。

使用 cjobs -A -l 显示作业阵列的详细信息,包括作业阵列作业限制(%job_limit)(如果设置)。

-noheader

指定后,cjobs 将显示字段的值,但不显示字段名称。这在脚本解析时非常有用,因为不需要列标题。

此选项适用于没有选项的 cjobs 命令的输出,以及除 -l-UF-N-h -V 之外的所有带有短形式输出的 cjobs 选项的输出。

-j

JSON 格式。以 JSON 格式显示每个作业的详细信息。使用“jq”等工具将输出转换为可读格式。

-o字段名称...[delimiter='字符']

设置自定义输出格式。

指定要显示的 cjobs 字段(或字段别名,而非完整字段名)及其显示顺序。每个字段的输出宽度不受限制。

使用delimiter=来设置不同标题和字段之间的分隔符。分隔符必须是单个字符。默认情况下,分隔符为空格。

要在 csh 环境中指定特殊分隔符(例如 $),请在分隔符规范中使用双引号(“),并在 -o 语句中使用单引号('):

cjobs...- o'field_name ...[delimiter="字符"]'

-o 选项不能与 cjobs 选项 -l-UF-WF-W-WL-WP 一起使用。

如果字段没有值,则输出为破折号 (-)

以下是用于指定要显示的 cjobs 字段的字段名称、可以代替字段名称使用的别名以及显示字段的度量单位:

jobid|jd:职位 ID

stat:作业状态

user:提交用户

appcsub -A 指定的应用程序名称

user_group|ugroup:作业用户所属的用户组

queue:作业提交到的队列名称

job_name|namecsub -J 指定的作业名称

job_description|descriptioncsub -Jd 指定的作业描述

proj_name|proj|projectcsub -P 指定的项目名称

job_group|groupcsub -g 指定的作业组名称

dependency:由 csub -w 指定的依赖关系

job_priority|priority:由 csub -sp 指定的作业优先级

command|cmd:作业命令

stripped_cmd|scmd:不带 #CSUB 选项的作业命令

pre_exec_command|pre_cmd:由 csub -E 指定的pre_exec

pids:作业的进程 ID

exit_code:作业退出码

last_message|msg|messagecpost 发布的最后一条消息

from_host:作业提交主机名

first_host:第一个作业执行主机

exec_host:作业执行主机

nexec_host:作业的执行主机数量

estimated_start_time|estart_time:预计的作业开始时间

specified_start_time|sstart_timecsub -b 指定的作业开始时间

specified_terminate_time|sterminate_timecsub -t 指定的作业终止时间

time_left:使用选项 -W 提交时作业剩余运行时间

finish_time:作业完成时间

%complete:使用选项 -W 提交时作业完成的百分比

cpu_used:每秒使用的 CPU 时间

run_time:作业运行总时间(秒)

idle_factorCPU 使用时间/作业运行时间

slots|nalloc_slot:已使用的槽总数

mem:已用内存(KB

maxmem:完成作业所需的最大内存(KB

avgmem:完成作业所用的平均内存(KB

memlimitcsub -M 指定的内存限制

swap:操作系统为该作业分配的虚拟内存(以 KB 为单位)

swaplimit:由 csub -v 指定的虚拟内存限制(以 KB 为单位)

nthread:作业的线程数

io:作业的磁盘 I/O 范围(以 KB/s 为单位)

gmemGPU 内存使用量(MB

last_ut|ut:作业的最后一次 CPU 使用率

res_rusage|ress:已分配的 GPU

min_req_proc|nreq_slotcsub -n 请求的最小槽数

max_req_proccsub -n 请求的最大插槽数

req_gpuscsub -R 请求的 GPU 数量

resreqcsub -R 指定的资源需求

reqmem:保留内存(以 GB 为单位)

filelimit:由 csub -F (ulimit -f) 指定的文件大小限制

corelimitcsub -Culimit -c)指定的核心文件大小限制

stacklimit:由 csub -S (ulimit -s) 指定的堆栈大小限制

processlimitcsub -pulimit -u)指定的最大用户进程数

input_filecsub -i|-is 指定的输入文件名

output_filecsub -o|-oo 指定的输出文件名

error_filecsub -e|-eo 指定的错误文件名

sub_cwd:运行 csub csub -cwd 时的当前工作目录

exec_home:作业提交的主目录

exec_cwd:作业正在执行的当前工作目录

end_reason|erason:作业结束原因

pend_reason|preason:作业待处理原因

susp_reason}sreason:作业暂停原因

allocation|alloc:资源分配 JSON

字段名称和别名不区分大小写。

例如,
cjobs -o "id stat name start_time delimiter='^'"
JOBID^STAT^JOB_NAME^START_TIME
2730^RUN^my_testjob^Sep 8 11:59

-UF

无格式。显示无格式的作业详细信息。这使得编写用于解析 cjobs 关键字的脚本变得更容易。此选项的结果对输出没有宽度控制。每行从行首开始。SCHEDULING PARAMETERSPENDING REASONS的信息保持格式化。没有任何分隔符结尾的使用信息行会添加分号来分隔其各个部分。首行和所有以时间戳开头的行均以无格式显示在一行中。没有行长和格式控制。

job_ID

显示有关指定作业或作业阵列的信息。

如果使用 -A,请指定不带索引列表的作业阵列 ID

-g 作业组名称

显示有关附加到由job_group_name 指定的作业组的作业的信息。

-J 作业名称

显示有关指定作业或作业阵列的信息。

-m 主机名-m 主机组

仅显示分派到指定主机的作业。

要确定可用的主机和主机组,请使用 chosts cmgroup

-M

-l 选项结合使用时显示作业的最后一条发布消息。

-N 主机名-N主机型号-N CPU 系数

显示作业消耗的标准化 CPU 时间。使用指定的 CPU 因子,或者指定主机或主机型号的 CPU 因子进行标准化。

-P项目名称

仅显示属于指定项目的作业。

-q 队列名称

仅显示指定队列中的作业。

命令 cqueues 返回系统中配置的队列列表,以及有关这些队列的配置信息。

-u用户名-u 用户组-u all

仅显示由指定用户提交的作业。关键字 all 指定所有用户。该选项受集群用户权限限制,缺省权限配置时普通用户只能显示自己的作业信息。用户组管理员可以显示组内用户的作业信息,队列管理员可以显示队列中用户的作业信息。AIP管理员不受限制。

-h

将命令用法打印到 stderr 并退出。

-V

AIP 发布版本打印到 stderr 并退出。

输出

待处理作业将按其被考虑调度的顺序显示。高优先级队列中的作业优先于低优先级队列中的作业显示。相同优先级队列中的待处理作业将按其提交的顺序显示,但可以使用 ctop cbot 命令更改此顺序。如果将多个作业调度到一台主机,则该主机上的作业将按其队列优先级和调度时间的顺序列出。已完成的作业将按其完成的顺序显示。 

默认显示

将显示包含以下字段的作业列表:

JOBID

AIP 分配给该作业的作业 ID

USER

提交作业的用户。

STAT

作业的当前状态(请参阅下面的作业状态)。

QUEUE

作业所属的作业队列的名称。如果作业所属的队列已从配置中移除,队列名称将显示为 lost_and_found。使用 chist 获取原始队列名称。lost_and_found 队列中的作业将保持待处理状态,直到使用 cswitch 命令将其切换到另一个队列。

FROM_HOST

提交作业的主机的名称。

EXEC_HOST

正在执行作业的一个或多个主机的名称(如果作业尚未调度,则此字段为空)。如果运行作业的主机已从配置中移除,则主机名将显示为 lost_and_found。使用 chist 获取原始主机名。

JOB_NAME

用户指定的作业名称,或默认指定的命令字符串(参见 csub (1))。如果作业名称太长,此字段容纳不下,则仅显示作业名称的后半部分。

SUBMIT_TIME

作业的提交时间。

-l 输出

如果指定了 -l 选项,则生成的长格式列表将包括以下附加字段:

Job

作业ID

User

提交作业用户名

Project

提交作业的项目。

Profile

csub -A定义的应用名。

Job Description

csub -Jd定义的作业描述。

Pre-execute Command

csub -E定义的pre-exec命令。

Command

作业命令。

CWD

提交主机上的当前工作目录。

RUNTIME

cjobs -WL, -WF, 或者-P输出项

TIME_LEFT

估计的作业剩余运行时长

FINISH_TIME

估计的作业结束时间

%COMPLETE

估计的作业完成百分比

PENDING REASONS

作业处于 PEND PSUSP 状态的原因。同时指定 -p -l 选项时,将显示与每个原因关联的主机名称。

SUSPENDING REASONS

作业处于 USUSP SSUSP 状态的原因。

loadSched

作业的负载调度阈值。

loadStop

作业的负载暂停阈值。

JOB STATUS

作业状态的可能值包括:

PEND

作业处于待处理状态,即尚未开始。

PSUSP

该作业在待处理期间已被其所有者或 AIP 管理员暂停。

RUN

该作业目前正在运行。

USUSP

该作业在运行时已被其所有者或 AIP 管理员暂停。

SSUSP

该作业已被 AIP 暂停。该作业因以下两个原因之一而被 AIP 暂停:

1) 根据为主机或队列定义的 loadStop 向量,执行主机上的负载情况已超过阈值。

2) 作业队列的运行窗口已关闭。参见cqueues (1)chosts (1) cb.yaml (5)

DONE

作业已结束,状态为 0

EXIT

作业已以非零退出码终止 - 它可能由于执行中的错误而被中止,或者被其所有者或 AIP 管理员终止。

UNKWN

CBSCHED 与运行该作业的主机上的 CBJM 失去联系,或者作业超时而无法被杀死。

ZOMBI

如果出现以下情况,作业将变为 ZOMBI

- 当执行主机上的 CBJM 无法访问且作业显示为 UNKWN 时,不可重新运行的作业被 ckill 终止。

- 正在运行可重新运行作业的主机不可用,并且该作业已由 AIP 使用新的作业 ID 重新排队,就好像该作业作为新作业提交一样。

当执行主机可用后,AIP 将尝试终止 ZOMBI 作业。成功终止 ZOMBI 作业后,该作业的状态将更改为 EXIT

RESOURCE USAGE

当前作业使用情况的值包括:

CPU time

作业中所有进程的累计 CPU 时间(以秒为单位)。

MEM

作业中所有进程的驻留内存使用量总计(以 MB 为单位)。

SWAP

作业中所有进程的虚拟内存总使用量(以 MB 为单位),包含所有操作系统为作业分配的虚拟内存总量。

DISKIO

当前作业中所有进程的磁盘 IO,以 KB/s 为单位。

GPUMem

当前作业中所有进程的 GPU 内存使用情况(以 MB 为单位)。

NTHREADS

当前作业中所有进程的线程数。

PGID

作业中当前活动的进程组 ID

PIDs

作业中当前活动的进程。

RESOURCE LIMITS

对队列中的作业施加的硬资源限制(请参阅getrlimit (2) cb.yaml (5))。这些限制是针对每个作业和每个进程施加的。

每个作业可能的限制是:

CPULIMIT

PROCLIMIT

MEMLIMIT

SWAPLIMIT

PROCESSLIMIT

Linux每个进程可能的资源限制是:

RUNLIMIT

FILELIMIT

DATALIMIT

STAKLIMIT

CORELIMIT

如果提交到队列的作业指定了这些限制中的任何一个(请参阅csub (1)),则将对该作业使用相应作业限制和队列限制中较低的一个。

如果没有指定资源限制,则假定资源是无限的。

 SCHEDULING PARAMETERS

调度负载阈值,合并主机级和队列级配置的调度负载阈值。

loadSched

作业的负载调度阈值。

loadStop

作业的负载暂停阈值。

RESOURCE REQUIREMENT DETAILS

作业调度的资源需求。调度器用这些参数决定作业运行主机。

Combined:合并作业定义的资源需求(csub -R)、队列中配置的资源需求(resspec)、和系统内置的缺省调度资源需求。

Effective:如果合并的作业需求有多个“或”的选择,最终作业调度时的有效资源需求。

RESOURCE ALLOCATION

作业调度后的资源分配JSON,每个作业槽的分配主机名、端口名、GPU、以及共享资源的分配。

PENDING PART

作业如果有等待部分,全部等待,或者可伸缩作业部分等待的JSON

THE MOST RECENT MESSAGE

作业的最后一个cpost的消息。

Time

消息发布的时间

Content

消息内容

作业阵列摘要信息

如果使用 -A,则显示有关作业阵列的摘要信息。将显示以下字段:

JOBID

作业阵列的作业 ID

ARRAY_SPEC

数组规范的格式为名称[索引]。数组规范可能被截断,请使用 -w 选项和 -A 选项一起显示完整的数组规范。

OWNER

作业阵列的所有者。

NJOBS

作业阵列中的作业数。

PEND

作业阵列中待处理的作业数。

RUN

作业阵列中正在运行的作业数。

DONE

作业阵列中成功完成的作业数。

EXIT

作业阵列中未成功完成的作业数。

SSUSP

作业阵列的 AIP 系统暂停作业的数量。

USUSP

作业阵列中用户暂停的作业数。

PSUSP

作业阵列中等待时被暂停的作业数。

示例

cjobs -pl

显示有关调用者的所有待处理作业的详细信息。

cjobs -ps

仅显示待处理和暂停的作业。

cjobs -u all -a

显示所有用户的所有作业。

cjobs -d -q short -m apple -u john

显示 john 提交到短队列并在主机 apple 上执行的所有最近完成的作业。

% cjobs 101 102 203 509

显示 job_ID 101102203 509 的作业。 

% cjobs -o "id stat"

显示作业所有本用户的活动作业(等待、运行、或暂停)的JOBID和作业状态