cqueues#

命令#

cqueues - 显示有关队列的信息

概要#

cqueues [-w |-l] [-e] [-o格式”] [-m 主机名 |-m 主机组 |-m all] [-u 用户名 |-u 用户组 |-u all] [队列名…]

cqueues [-h |-V]

描述#

显示有关队列的信息。

默认情况下,返回有关所有队列的以下信息:队列名称、队列优先级、队列状态、作业槽统计信息和作业状态统计信息。

队列名称和特性由管理员设置。

显示队列信息范围#

  • root或集群管理员可以访问所有队列信息。

  • 当cb.yaml中user_view_alljobs: yes,普通用户可以访问所有队列信息。

    • 当环境变量CB_LIMIT_VIEW(或者在/opt/skyformai/etc/cb.conf中设置)设任何值,普通用户只能访问自己可用队列的信息。

    例子:

    [u001@aipm ~]$ cqueues
    QUEUE_NAME     PRIO      STATUS      MAX  JL/U JL/P JL/H NJOBS  PEND  RUN  SUSP
    test            10    Open:Active      -    -    -    -     0     0     0     0
    qm               4    Open:Active      -    -    -    -     0     0     0     0
    qg               4    Open:Active      -    -    -    -     0     0     0     0
    medium           3    Open:Active      -    -    -    -     0     0     0     0
    vnc              3    Open:Active      -    -    -    -     0     0     0     0
    [u001@aipm ~]$ CB_LIMIT_VIEW=1 cqueues
    QUEUE_NAME     PRIO      STATUS      MAX  JL/U JL/P JL/H NJOBS  PEND  RUN  SUSP
    qm               4    Open:Active      -    -    -    -     0     0     0     0
    
  • 当cb.yaml中user_view_alljobs: no,或者该参数没有设置,用户只能访问自己可用队列的信息。

选项#

-w

以宽格式显示队列信息。字段显示时不带截断,并显示等待作业数(PJOBS)。

-l

以多行长格式显示队列信息。-l 选项显示以下附加信息:队列描述、队列特征和统计信息、调度参数、资源限制、调度策略、用户、主机、用户共享、窗口、相关命令以及作业控制。

-e

以长多行格式展开用户组和主机组。

-m 主机名 |-m 主机组 |-m all

显示可在指定主机或主机组上运行作业的队列。如果指定关键字all,则显示可在所有主机上运行作业的队列。有关主机组列表,请参见 cmgroup

-o字段名称 …[delimiter=’字符‘]”

通过字段名称指定自定义输出格式。使用delimiter=指定在不同标题和字段之间显示的分隔符。分隔符必须是单个字符。默认情况下,分隔符为空格。

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

可用的字段名称有:

queue | q:队列名称

description:队列描述

priority:队列优先级

users:允许使用队列的用户

hosts:属于队列的主机

userjoblimit | ulj:每个用户作业槽限制

status:队列状态。参见OUTPUT

maxslots | maxj:配置的最大作业槽限制

numjobs:作业槽数量(包括等待、运行、暂停和保留)

numpend:等待作业槽的数量

pjobs:等待作业的数量

numrun:正在运行的作业槽数

numssusp:系统暂停作业槽的数量

numususp:用户暂停作业槽的数量

numreserve:调度程序保留的作业槽数

fairshare:Fairshare 配置字符串

maxavail_slots:基于队列中的主机和主机可用性的最大可用作业槽

avail_slots:空闲职位槽

maxavail_gpus:主机上配置的队列使用的最大可用GPU 数量

avail_gpus:队列中可用的空闲GPU

maxavail_memgb:基于队列中的主机和主机可用性的最大可用内存(以GB 为单位)

avail_memgb:队列中所有主机的可用内存(以GB 为单位)

jlh:每个主机配置的作业槽限制

weighted_ut | ut:队列中所有可用主机的加权CPU 利用率

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

显示可以接受来自指定用户或用户组的作业的队列(有关用户组的列表,请参阅 cugroup。)如果指定了关键字“all”,则显示可以接受来自所有用户的作业的队列。

队列名 ..

显示有关指定队列的信息。

-h

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

-V

将AIP 发布版本打印到标准输出并退出。

输出#

默认输出#

显示以下字段:

QUEUE_NAME

队列的名称。队列的命名与通常提交给它的作业类型或它提供的服务类型相对应。

lost_ane_found

如果AIP 管理员从系统中删除队列,AIP 会创建一个名为lost_and_found 的队列,并将被删除队列中的作业放入 lost_and_found 队列中。lost_and_found 队列中的作业除非被切换到其他队列(参见 cswitch),否则不会启动。

PRIO

队列的优先级。如果未配置作业优先级,则决定作业调度、暂停和恢复时的队列搜索顺序。作业调度和恢复时,会首先搜索优先级值较高的队列(这与Linux 进程优先级顺序相反),作业暂停时,会最后搜索优先级值较高的队列。

STATUS

队列的当前状态。可能的值包括:

Open

打开:队列能够接受作业提交。

Closed

关闭:队列无法接受作业提交。

Active

激活:队列中的作业可被调度。

Inactive

非活动:队列中的作业暂时无法被调度。

每个队列在任何时候都处于“Open”或“Closed”状态,以及“Active”或“Inactive”状态。AIP 管理员可以使用 csadmin(参见 csadmin)打开、关闭、停用和重新激活队列。当队列的调度窗口或运行窗口关闭时,队列将变为非活动状态(参见“-l 选项的输出”部分中的 DISPATCH_WINDOWS)。在这种情况下,无法使用 csadmin 激活队列。当队列的其中一个调度窗口和其中一个运行窗口再次打开时,AIP 会重新激活队列。队列在 AIP 启动时的初始状态设置为“打开”,并根据其窗口状态变为活动或非活动状态。

MAX

队列中作业可使用的最大作业槽数。这些作业槽由已调度但尚未完成的作业以及已预留槽的等待作业使用。顺序作业在调度到主机时将使用一个作业槽,而并行作业在调度时将使用csub -n 所需的作业槽数量。详情请参阅 csub。如果显示“-”,则表示没有限制。

JL/U

队列中作业的最大作业槽位数量。这些作业槽位将由已调度但尚未完成的作业以及已预留槽位的等待作业使用。如果显示“-”,则表示没有限制。

JL/P

处理器可以从队列中处理的最大作业槽数。这包括已调度但尚未完成的作业槽,以及为某些等待作业保留的作业槽。每个处理器的作业槽限制(JL/P) 控制发送到每台主机的作业数量。此限制是按处理器配置的,以便多处理器主机自动允许运行更多作业。如果显示“-”,则表示没有限制。该指标在AIP配置中不能修改,仅为LSF兼容所用。

JL/H

主机可以从队列中处理的最大作业槽数。这包括已调度但尚未完成的作业槽,以及为某些等待作业保留的作业槽。每台主机的作业槽限制(JL/H) 控制发送到每台主机的作业数量,无论主机是单处理器主机还是多处理器主机。如果显示“-”,则表示没有限制。该指标在AIP配置中不能修改,仅为LSF兼容所用。

NJOBS

队列中当前作业占用的作业槽总数。这包括等待、正在运行、暂停和预留的作业槽。在n个处理器上运行的并行作业计为n 个作业槽,因为它占用队列中的n作业槽。有关作业状态的说明, 请参阅 cjobs

PEND

队列中等待的作业槽的数量。

RUN

队列中正在运行的作业槽的数量。

SUSP

队列中暂停的作业槽的数量。

RSV

仅限宽格式(-w)。队列中由 AIP 为等待作业保留的作业槽数。

PJOBS

仅限宽格式(-w)。队列中等待作业的数量。

长输出-l选项的输出#

除了上述字段之外,-l选项还显示以下内容:

Description

队列的典型用途的描述。

NICE

队列中作业运行时的nice 值。这是 Linux 中用于降低进程优先级的 nice 值(参见nice (1))。

PARAMETETERS/STATISTICS
STATUS
Inactive

-l选项 的长格式给出了队列不活动的可能原因:

Inact_Win

队列超出了其调度窗口或运行窗口。

Inact_Adm

该队列已被AIP 管理员停用。

SSUSP

队列中分配给由AIP 暂停的作业的作业槽数。

USUSP

队列中分配给由作业提交者或AIP 管理员暂停的作业的作业槽数。

RSV

队列中由AIP 为等待作业保留的作业槽数量。

PJOBS

队列中等待作业的数量。

Migration threshold

在AIP 尝试将作业迁移到其他主机之前,从队列中调度的作业将被系统暂停的时间(以秒为单位)。该数据是为LSF兼容所设,AIP里没有对应配置参数。

Schedule delay for a new job

新作业提交后,调度会话的延迟时间(以秒为单位)。如果调度延迟时间为零,则作业提交到队列后会立即启动新的调度会话。在AIP中这个参数总是0。

Interval for a host to accept two jobs

将一个作业调度到主机后,需要等待多少秒才能将第二个作业调度到同一主机。如果作业接受间隔为零,则主机可以在每个调度间隔内接受多个作业。请参阅cb.yaml 中queues和general里的 job_accept_interval参数。

RESOURCE LIMITS

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

每个作业可能的限制是:

CPULIMIT

PROCLIMIT

MEMLIMIT

SWAPLIMIT

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

RUNLIMIT

FILELIMIT

DATALIMIT

STACKLIMIT

CORELIMIT

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

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

SCHEDULING PARAMETERS

队列的调度和暂停阈值。

调度阈值loadSched 和暂停阈值 loadStop 用于控制作业的调度、暂停和恢复。队列阈值与主机定义的阈值结合使用(参见 chostscb.yaml)。如果同时配置了队列级别和主机级别的阈值,则应用最严格的阈值。

loadSched 和 loadStop 阈值具有以下字段:

r15s

15 秒指数平均有效 CPU 运行队列长度。

r1m

1 分钟指数平均有效 CPU 运行队列长度。

r15m

15 分钟指数平均有效 CPU 运行队列长度。

ut

过去一分钟内CPU 利用率的指数平均值,以 0 到 1 之间的百分比表示。

pg

过去一分钟内内存分页率的指数平均值,以每秒页数为单位。

io

过去一分钟内网络I/O 速率的指数平均值,以每秒千字节为单位。

up

主机正常运行时间(以分钟为单位)。

it

主机的空闲时间(所有登录会话中未触摸键盘),以分钟为单位。

tmp

/tmp 中的可用空间量(以MB为单位)。

swp 当前可用的交换空间量(以MB为单位)。

mem

当前可用内存量(以MB为单位)。

gpu

可用的GPU卡数

除了这些内部索引之外,如果在RESS中定义了外部索引,则也会显示它们(参见ress(8))。

loadSched 阈值指定了相应负载指标的作业调度阈值。如果值显示为“-”,则表示该阈值不适用。如果主机所有负载指标的值均在队列和主机的相应阈值范围内(低于或高于,取决于负载指标的含义),则队列中的作业可以调度到该主机。相同的条件也适用于恢复已在该主机上暂停的队列调度作业。

类似地,loadStop阈值指定了作业暂停的阈值。如果主机上的任何负载指标值超出了队列的相应阈值,则队列中的作业将被暂停。

SCHEDULING POLICIES

队列的调度策略。可以配置以下一个或多个策略:

IGNORE_DEADLINE

如果IGNORE_DEADLINE 设置为 Y,则无论运行限制如何都启动所有作业。

EXCLUSIVE

如果用户在提交作业时指定,从独占队列调度的作业可以在某台主机上独占运行(参见 csub)。独占执行意味着该作业将被发送到一台没有其他作业正在运行的主机上,并且在该作业运行期间,不会再有其他作业(无论是作业还是交互作业)调度到该主机。默认情况下,不允许独占作业。

NO_INTERACTIVE

此队列不接受批量交互式作业。(请参见 csub) 的 -I、-Is 和 -Ip 选项)。默认情况下,它同时接受交互式和非交互式作业。

ONLY_INTERACTIVE

此队列仅接受批量交互式作业。作业必须使用csub (1) 的 -I、-Is 和 -Ip 选项提交。默认情况下,同时接受交互式和非交互式作业。

OWNED_HOSTS

队列拥有的主机,这些主机上拥有者的作业可以抢占其他队列或其他用户在这些主机上的作业。

FAIRSHARE

此队列使用公平共享策略来调度作业。屏幕上会显示公平共享树的用户、份额、优先级以及等待和正在运行的作业数量。参见:ref:cb-yaml

PREEMPTION

此队列使用抢占策略,输出指定哪些队列将被抢占,其作业将被重新排队。参见 cb.yaml

DEFAULT HOST SPECIFICATION

用于规范所有作业的CPU 时间限制的默认主机或主机模型。

如果要查看集群中主机定义的CPU 因子(CPU Factor)列表,请使用 cinfo。CPU因子由AIP自动检测。

主机或主机型号的相应CPU 缩放系数用于调整执行主机的实际 CPU 时间限制(请参阅 cb.yaml 中的 CPULIMIT)。cb.yaml 中的 DEFAULT_HOST_SPEC 参数会覆盖 cb.yaml 中的系统 DEFAULT_HOST_SPEC 参数(请参阅 cb.yaml)。如果用户在提交作业时使用 csub -c cpu_limit [/ host_name | / host_model ] 明确指定了主机规范,则用户规范将覆盖 cb.yaml 和 cb.yaml 中定义的值。

RUN_WINDOWS

一周内有一个或多个运行窗口,在此期间队列中的作业可以运行。

当一个运行窗口结束时,队列中所有正在运行的作业都会被暂停,直到下一个运行窗口开始时才会恢复。默认设置是无限制,即始终开放。

DISPATCH_WINDOWS

队列的调度窗口。调度窗口是一周内可以调度队列中作业的时间窗口。

当队列超出其调度窗口时,队列中将不会调度任何作业。已调度的作业不受调度窗口的影响。默认设置是无限制或始终开放(即每周7 天、每天 24 小时)。请注意,此类调度窗口仅适用于作业。可以为单个主机配置类似的调度窗口(参见 chosts)。

窗口以begin_time - end_time格式显示。时间以 [ day :] hour [: minutes ] 格式指定,其中所有字段均为合法范围内的数字:day为 0(星期日)-6 ,hour为 0-23 ,minute为 0-59。minute的默认值为0(整点)。day 的默认值为每周的每一天。窗口的begin_time和end_time以“-”分隔,中间不能有空格(SPACE 和 TAB)。窗口的begin_time和end_time必须同时存在。窗口以空格分隔。

USERS

允许向队列提交作业的用户和用户组列表。用​​户组名称末尾会添加一个斜杠(/)。请参阅 cugroup。当使用-e参数时(cqueues -l -e),这个列表会展开到单个用户名。

AIP 集群管理员可以默认将作业提交到队列。

HOSTS

可调度队列中作业的主机和主机组列表。主机组名称末尾会添加一个斜杠(/)。请参阅 cmgroup。当使用-e参数时(cqueues -l -e),这个列表会展开到单个主机名。

ADMINISTRATORS

队列管理员列表。列出的用户有权操作队列中的作业以及队列本身。更多信息, 请参阅 cb.yaml

PRE_EXEC

队列的预执行命令。预执行命令在队列中的每个作业在执行主机(或为并行作业选择的第一个主机)上运行之前执行。有关更多信息, 请参阅 cb.yaml

POST_EXEC

队列的执行后命令。执行后命令在作业终止时运行。更多信息 请参阅 cb.yaml

REQUEUE_EXIT_VALUES

以这些值退出的作业将自动重新排队。更多信息 请参阅 cb.yaml

RES_REQ

队列的资源需求。只有满足这些资源需求的主机才能被队列使用,由cb.yaml里队列的resspec定义。

Maximum slot reservation time

队列中等待作业在slot 中保留的最长时间(以秒为单位)。请参阅 cb.yaml 中的 slotreservetime参数。

RESUME_COND

恢复队列中已暂停作业的阈值条件。该参数在AIP中暂无意义。

STOP_COND

队列中正在运行的作业的停止阈值条件。该参数在AIP中暂无意义。

JOB_STARTER

队列中正在运行的作业的作业启动命令。更多信息 请参阅 cb.yaml 里queues定义的job_starter。

RERUNNABLE

如果RERUNNABLE 字段显示为“yes”,则表示队列中的作业可重新运行。也就是说,如果执行主机不可用,队列中的作业将自动重新启动或重新运行。但是,如果您已从作业中移除 rerunnable 选项,则队列中的作业将不会重新启动。有关更多信息, 请参阅 cb.yaml

CHECKPOINT

如果显示CHKPNTDIR 字段,则表示队列中的作业可以执行检查点操作。除非您指定其他值,否则作业将使用默认的检查点目录和周期。请注意,如果您已从作业中移除检查点选项,则队列中的作业将不会执行检查点操作。

CHKPNTDIR

使用绝对或相对路径名指定检查点目录。

CHKPNTPERIOD

指定检查点周期(以秒为单位)。

尽管cqueues 的输出以秒为单位报告检查点周期,但检查点周期是以分钟为单位定义的(检查点周期通过 csub -k ” checkpoint_dir [ checkpoint_period ]” 选项定义,或在 cb.yaml 中定义)。

JOB CONTROLS

用于作业控制的已配置操作。请参阅cb.yaml 中的 stop_action, resume_action, kill_action参数。

配置的操作以[ action_type , command ] 格式显示,其中action_type为 SUSPEND、RESUME 或 TERMINATE。

MAX AVAILABLE SLOTS

队列中工作正常的主机上所有作业槽总和。

FREE SLOTS

队列中工作正常的主机上所有可用作业槽数。

GPU Resources

队列中工作正常的主机上各个型号GPU的可用数/总数。