PBS命令和使用

PBS是公开源代码的作业管理系统,在此环境下运行,用户不需要指定程序在哪些节点上运行,程序所需的硬件资源由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 "create queue batch queue_type=execution"

qmgr -c "set queue batch started=true"

qmgr -c "set queue batch enabled=true"

qmgr -c "set queue batch resources_default.nodes=1"

qmgr -c "set queue batch resources_default.walltime=3600"

qmgr -c "set server default_queue=batch"

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,[email protected]。

-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 Submitting a Job Using the Graphical User Interface (GUI)

Command Short Description Tutorial Manual Page
qstat list information about queues and jobs Using qstat qstat man page
qstat -q list all queues on system HTML and PS qstat man page
qstat -Q list queue limits for all queues HTML and PS qstat man page
qstat -a list all jobs on system Using qstat qstat man page
qstat -au userid list all jobs owned by user userid Using qstat qstat man page
qstat -s list all jobs with status comments HTML and PS qstat man page
qstat -r list all running jobs HTML and PS qstat man page
qstat -f jobid list all information known about specified job Using qstat qstat man page
qstat -Qf queue list all information known about specified queue Using qstat qstat man page
qstat -B List summary information about the PBS server HTML and PS qstat man page
qsub jobscript submit jobscript to PBS Using qsub qsub man page
qsub -I submit an interactive-batch job Using qsub qsub man page
qsub -q queue submit job directly to a specified queue Using qsub qsub man page
xpbs Graphical User Interface to PBS commands Using xpbs xpbs man page

3、PBS环境下运行示例

(1)脚本文件编辑示例

实例1:运行mpi程序 命令行:#vi  aaa.pbs

编辑的内容:

#PBS -N myjob  #PBS -o /home/jz/my.out 标准输出文件

#PBS -e /home/jz/my.err错误输出文件

#PBS –l nodes=2:ppn=2 规定使用的节点数以及每个节点能跑多少核

cd 目录(你们原来直接在节点上运行时所在的目录)

mpirun –np 4 –hostfile $PBS_NODEFILE  /home/jz/helloworld

解释:原先大家都是在中断输入 mpirun_rsh…..这些命令执行程序的,现在只要把这些提交命令放在.pbs配置文件的最后,由PBS来调度执行 (自动分配节点和其它资源)。Myjob是为你此次要运行的程序起的任务名,可以改成你自己想要的名字原先输出信息都是直接在屏幕上显示的,现在屏幕上的 显示全部输出到文件中,上例中输出文件是/home/jz/my.out文件,大家可以根据自己的需要修改(目录,文件名)。程序运行时遇到的一些错误会 记录在.err文件中。好处:因为对每个任务都设定了不同的输出文件,所以看结果只要打开相应文件看就可以了,不需要开多个终端,里面有任务的详细信息, 比如实际分配的是哪些节点计算,运行时间等。

#PBS –l nodes=2:ppn=2,你们程序需要几个节点只要修改nodes后的数字就可以了,ppn=2保持不变,因为我们的机器每个节点都是双cpu的。

mpirun –np 4 –hostfile $PBS_NODEFILE  /home/jz/helloworld 此例中-np后的4是并行数(2×2=4个cpu),–hostfile $PBS_NODEFILE不需要改变。/home/jz/helloworld是你编译好的可执行文件名,需修改。

对于每个你要运行的mpi程序都需要这样一个.pbs配置文件     也就是说大家原来的操作是:mpirun…………     现在改成2步走:1)写个pbs配置文件(比如xxx.pbs);2)向pbs提交(qsub xxx.pbs)

   实例2:运行非mpi程序 有些用户并不是自己编写mpi程序,同样也可以用pbs提交。

比如物理系运行程序时一般输入的命令是 RunDMol3.sh TiFeCp2-pbe-dspp-m=1-opt  ,那么配置文件可以这样写:

命令行:#vi  job.pbs 编辑的内容:

#PBS -N physics_job

#PBS -o /home/physics/physics_job.out

#PBS -e /home/physics/physics_job.err

#PBS -l nodes=1:ppn=2

#PBS -r y

cd 目录(你们原来直接在节点上运行时所在的目录)

RunDMol3.sh TiFeCp2-pbe-dspp-m=1-opt

解释:也就是说把原来在终端直接输入的命令RunDMol3.sh TiFeCp2-pbe-dspp-m=1-opt放到pbs配置文件中,因为你们只要一个节点,所以nodes=1,至于用哪个节点系统自动分配,你们 肯定很关心是分配了哪个节点给你们,那么可以用qstat命令查询(比如qstat -n)。

(2) 提交作业示例

命令行:#qsub aaa.pbs

作业提交后会有一个作业号

[[email protected] pbstest]$ qsub pbsjob

48.master

(3) 作业状态查询示例

qstat 后加不同参数可以查看不同的信息(各参数的意思,上面有详细的说明,你们可以一个个试验一下,以后就知道查看哪些信息,需要哪些参数) 实例:

命令行:#qstat –a   (查看作业的状态)

解释:Job id 是给你提交的任务分配的任务号,S(任务状态,R表示正在运行,Q表示正在排队等候调度)

命令行:#qstat –n   (查看作业使用的节点)

命令行:#qstat –f  211   (查看有关作业运行具体信息)
删除作业:qdel 作业号 [[email protected] pbstest]$ qdel 48

转自http://student.csdn.net/space.php?uid=124962&do=blog&id=13699

时间: 2024-10-11 00:41:50

PBS命令和使用的相关文章

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

ubuntu 12.04下配置单机pbs(torque)

配置环境 ubuntu 12.04 torque 2.4.6 配置步骤及出现问题解决(以root运行) 1.安装torque 官方网站的torque安装帮助文档没有针对ubuntu的安装步骤,安装起来非常费劲,因此这里采用apt-get来安装 apt-get install torque-server torque-client torque-mom torque-pam torque-server负责接收任务请求 torque-client在每个提交任务的节点上,负责提交任务到服务器 torq

如何在Rocks HPC集群里安装PBS Pro开源版

PBS Pro可以算是torque的商业版本.功能强大.尤其是在其开源之后,成为了最强大的免费任务调度软件. 但是PBS Pro开源版本的预编译版本是针对CEntos7的,而Rocks 集群管理软件只支持到CEntos6.8.因此使用PBS Pro开源版本,必须要从源代码安装.安装过程中有很多的困难.因此再次记录一下过程,供大家参考. 首先,rocks集群安装的时候最好使用6.1.1,不要使用6.2;不要安装sge; OS roll最好不要使用自带的,而是用标准的centos6.7或者6.8安装

LMT NEW PBS——作业排队管理软件

LMT NEW PBS--作业排队管理软件 作业排队管理系统是一个建立在操作系统之上的一类系统软件,以机器.队列.请求作为它的主要资源.其主要作用是强化操作系统的作业管理功能,提供作业即时提交.定期执行.作业调度.作业控制等新机制,以便更加有效地利用系统资源.平衡网络负载.提高系统整体性能.作业管理系统一般具有典型的客户/服务器结构,服务器的功能包括批处理排队.作业调度.作业执行及资源管理等,客户的功能包括作业定义.服务器管理.系统信息查询等.在服务器与客户之间,采用TCP/IP网络连接协议及与

PBS

PBS的组成 服务器:     pbs_server 调度器:     pbs_scheduler 执行器:     pbs_mom 命令行:     用户脚本,管理命令等 PBS的基本原理 PBS的优缺点: 符合POSIX 1003.2d 标准:支持系统级检查点功能(需底层操作系统支持):很好的大规模扩展性,独立的调度模块:支持使用其它调度器:支持作业依赖和用户映射:灵活性:支持交互,批处理,串行及并行作业:只支持Unix类操作系统:多集群协作功能有限. 术语 节点(node) :一个单一的操

LMT NEW PBS作业调度管理系统应对金融行业作业批处理

LMT NEW PBS作业调度管理系统应对金融行业作业批处理 大集中之后,要改变批处理作业管理的现状,各公司急需引进成熟统一的解决方案,以提高作业效率,节约管理成本,规避作业失败的风险. 经过近几年的努力,金融行业的业务和数据都实现了区域集中,有的已经实现数据的全国集中.在业务集中度不断提高的同时,原来在各个系统中普遍存在的各种批处理作业自然也被集中到了中心节点. 大集中后的挑战 业务和数据集中之后,银行必须相应改造原有业务系统的处理方式,并添加新的批处理作业来提升业务处理的效率.如何合理有效地

LMT NEW PBS作业调度系统

 LMT NEW PBS作业调度系统 高性能计算(HPC)是一个计算机集群系统,它通过各种互联技术将多个计算机系统连接在一起,利用所有被连接系统的综合计算能力来处理大型计算问题,所以又通常被称为高性能计算集群. 高性能计算方法的基本原理就是将问题分为若干部分,而相连的每台计算机(称为节点)均可同时参与问题的解决,从而显著缩短了解决整个问题所需的计算时间. 通常,解决大型计算问题需要功能强大的计算机系统,而现在,随着高性能计算的出现,使这一类应用从昂贵的大型外部计算机系统演变为采用商用服务器产品和

LMT NEW PBS作业调度系统的作业管理操作

LMT NEW PBS作业调度系统的作业管理操作 LMT NEW PBS系统的作业调度器是一个守护进程,这一进程策略控制着哪一个作业被运行,在那个节点运行,什么时候运行.因为每一个作业对于什么是好的或者有效的策略都有它自己的想法,LMT NEW PBS允许每一个作业节点来使用调度器.当运行的时候,调度器就可以和不同的Moms进行通信来获知系统资源的状态:和服务器进行通信来获知要执行的作业的有效性.与服务器之间的接口是通过和命令组件一样的API. LMT NEW PBS作业管理部分除了上面主要的部

linux常用命令--netstat

简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接等等. 常用参数 -a (all)显示所有选项,提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化成数字.-l 仅列出有在 Listen (监听) 的服務状态 -p 显示建立相关链接的程序名-r 显示路由信息,路由