PBS,QSUB任务管理命令 联系客服

发布时间 : 星期三 文章PBS,QSUB任务管理命令更新完毕开始阅读e24e5b1e9e31433238689322

3. #PBS –l walltime=1:00:00

4. #PBS –l select=ncpus=4:mem=400mb 5. #PBS -j oe 6. date /t

7. ./my_application 8. date /t

注:以命令行方式提交任务时,这些命令选项都要以 pbs 指示语句的格式给出,即选项之前要加前缀#PBS。 任务提交后,用户如果要知道任务的当前运行状态,可以通过 qstat 命令查询。qstat 命令的常用选项有: 无选项:当 qstat 命令不带任何选项时,以默认方式显示任务信息,例如

[soofree@node32]$ qstat

Job id Name User Time Use S Queue —————- —————- —————- ———— ——

569.node32 test soofree 0 R small

其中,Job id 是任务的标识符,Name 是任务名称,User是任务所有者,Time Use 是CPU使用时间,S 是任务当前状态(本例中 R表示正在运行),Queue表示任务所在队列。任务的状态如下:

* B 只用于任务向量,表示任务向量已经开始执行 * E 任务在运行后退出

* H 任务被服务器或用户或者管理员阻塞 * Q 任务正在排队中,等待被调度运行 * R 任务正在运行

* S 任务被服务器挂起,由于一个更高优先级的任务需要当前任务的资源 * T 任务被转移到其它执行节点了 * U 由于服务器繁忙,任务被挂起

* W 任务在等待它所请求的执行时间的到来(qsub -a) * X 只用于子任务,表示子任务完成

再举一例,使用-a 选项指定任务开始执行时间:

[soofree@nod32]$ qsub -a 2102 test 571.node32

[soofree@node32]$ qstat

Job id Name User Time Use S Queue —————- —————- —————- ———– — ——– 570.cnode01 test soofree 0 W default

此时任务状态(S)显示 W,表示任务正在等待执行时间的到来 PBS 命令与使用

PBS(Portable Batch System)是由NASA开发的灵活的批处理系统。它被用于集群系统、超级计算机和大规模并行系统。PBS主要有如下特征:

易用性:为所有的资源提供统一的接口,易于配置以满足不同系统的需求,灵活的作业调度器允许不同系统采用自己的调度策略。 ? 移植性:符合POSIX 1003.2标准,可以用于shell和批处理等各种环境。 ? 适配性:可以适配与各种管理策略,并提供可扩展的认证和安全模型。支持广域网上的负载的动态分发和建立在多个物理位置不同的实体上的虚拟组织。 ? 灵活性:支持交互和批处理作业。

?

OpenPBS( http://www.OpenPBS.org/)是PBS的Open Source的实现。商业版本的PBS可以参照: http://www.pbspro.com/。 1、PBS命令

PBS提供4条命令用于作业管理。 (1) qsub 命令—用于提交作业脚本 命令格式:

qsub [-a date_time] [-c interval] [-C directive_prefix]

[-e path] [-I] [-j join] [-k keep] [-l resource_list] [-m mail_options] [-M user_list][-N name] [-o path] [-p priority] [-q destination] [-r c] [-S path_list] [-u user_list][-v variable_list] [-V] [-W additional_attributes] [-z] [script]

参数说明:因为所采用的选项一般放在pbs脚本中提交,所以具体见PBS脚本选项。

例:# qsub aaa.pbs 提交某作业,系统将产生一个作业号 (2) qstat 命令—用于查询作业状态信息

命令格式:qatat [-f][-a][-i] [-n][-s] [-R] [-Q][-q][-B][-u] 参数说明:

-f jobid 列出指定作业的信息 -a 列出系统所有作业 -i 列出不在运行的作业

-n 列出分配给此作业的结点

-s 列出队列管理员与scheduler所提供的建议 -R 列出磁盘预留信息

-Q 操作符是destination id,指明请求的是队列状态 -q 列出队列状态,并以alternative形式显示 -au userid 列出指定用户的所有作业 -B 列出PBS Server信息 -r 列出所有正在运行的作业 -Qf queue 列出指定队列的信息

-u 若操作符为作业号,则列出其状态。

若操作符为destination id,则列出运行在其上的属于user_list中用户的作业状态。

例:# qstat -f 211 查询作业号为211的作业的具体信息。 (3) qdel 命令—用于删除已提交的作业 命令格式:qdel [-W 间隔时间] 作业号 命令行参数:

例:# qdel -W 15 211 15秒后删除作业号为211的作业 (4) qmgr 命令—用于队列管理

qmgr -c \ qmgr -c \ qmgr -c \

qmgr -c \

qmgr -c \ qmgr -c \ 2、PBS脚本文件

PBS脚本文件由脚本选项和运行脚本两部分组成。

(1) PBS作业脚本选项 (若无-C选项,则每项前面加?#PBS’)

-a date_time : date_time格式为:[[[[CC]YY]MM]DD]hhmm[.SS]

表示经过date_time时间后作业才可以运行。 -c interval : 定义作业的检查点间隔,如果机器不支持检查点,则忽略此选项。

-C directive_prefix :在脚本文件中以directive_prefix开头的行解释为qsub的命

令选项。(若无此选项,则默认为’#PBS’ ) -e path :将标准错误信息重定向到path -I :以交互方式运行

-j join :将标准输出信息与标准错误信息合并到一个文件join中去。 -k keep :定义在执行结点上保留标准输出和标准错误信息中的哪个文件。 keep为o 表示保留前者,e表示后者,oe或eo表示二者都保留,

n表示皆不保留。若忽略此选项,二者都不保留。 -l resource_list : 定义资源列表。以下为几个常用的资源种类。

cput=N : 请求N秒的CPU时间; N也可以是hh:mm:ss的形式。 mem=N[K|M|G][B|W]:请求N {kilo|mega|giga}{bytes|words} 大小的内存。

nodes=N:ppn=M :请求N个结点,每个结点M个处理器。

-m mail_options :mail_option为a:作业abort时给用户发信;为b:作业开始运行发信;为e:作业结束运行时发信。若无此选项,默认为a。 -M user_list : 定义有关此作业的mail发给哪些用户。

-N name : 作业名,限15个字符,首字符为字母,无空格。 -o path : 重定向标准输出到path。

-p priority : 任务优先级,整数,[-1024,1023],若无定义则为0. -q destination : destination有三种形式: queue , @server,queue@server。 -r y|n : 指明作业是否可运行,y为可运行,n为不可运行。 -S shell : 指明执行运行脚本所用的shell,须包含全路径。 -u user_list : 定义作业将在运行结点上以哪个用户名来运行。 -v variable_list : 定义export到本作业的环境变量的扩展列表。 -V : 表明qsub命令的所有环境变量都export到此作业。

-W additional_attributes : 作业的其它属性。 -z : 指明qsub命令提交作业后,不在终端显示作业号。 (2) 运行脚本同LINUX下一般的运行脚本文件。 [注]:脚本文件中的mpirun_rsh命令行中的节点列表文件要用环境变量表示 $PBS_NODEFILE,这个环境变量表示由pbs自动分配给作业的节点列表; 节点数为命令行中指定的进程数。 格式如下: mpirun_rsh –np 进程数 –hostfile $PBS_NODEFILE 可执行程序名 命令详解如下: Getting Status on the System, Queues, and Jobs Command qstat qstat -q qstat -Q qstat -a qstat -au Short Description list information about queues and jobs list all queues on system list queue limits for all queues list all jobs on system Tutorial Manual Page Using qstat qstat man page HTML and PS qstat man page HTML and PS qstat man page Using qstat qstat man page list all jobs owned by user userid userid qstat -s qstat -r list all jobs with status comments list all running jobs Using qstat qstat man page HTML and PS qstat man page HTML and PS qstat man page Using qstat qstat man page qstat -f jobid list all information known about specified job qstat -Qf queue list all information known about specified queue Using qstat qstat man page qstat -B List summary information about the PBS server Submitting a Job qsub jobscript submit jobscript to PBS qsub -I submit an interactive-batch job Using qsub Using qsub Using qsub qsub man page qsub man page qsub man page HTML and PS qstat man page qsub -q queue submit job directly to a specified queue Using the Graphical User Interface (GUI) xpbs Graphical User Interface to PBS commands Using xpbs xpbs man page