- 浏览: 134689 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
fascism219:
哇!您这篇博客写的太好了,看了以后感觉很受用!我最近正在做CE ...
移植CESM1.2和运行CLM4.5问题汇总 -
deepfuture:
不错,用栈来实现递归,速度和效率较高,建议部分栈操作这块用内联 ...
数据结构:栈应用_求解汉诺塔(Hanoi)1
PBS环境qsub, qstat, qdel
PBS 是公开源代码的作业管理系统,在此环境下运行,用户不需要指定程序在哪些节点上运行,程序
所需的硬件资源由PBS 管理和分配。
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,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 可执行程序名
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_rsh –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_rsh –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
显示结果:
(3) 作业状态查询示例
Qstat 后加不同参数可以查看不同的信息(各参数的意思,上面有详细的说明,你们可以一个个试验一
下,以后就知道查看哪些信息,需要哪些参数)
实例:
命令行:#qstat –a (查看作业的状态)
显示结果:
解释:Job id 211 是给你提交的任务分配的任务号,S(任务状态,R 表示正在运行,Q 表示正在排
队等候调度)
8
命令行:#qstat –n (查看作业使用的节点)
显示结果:
解释:blade32 就是分给你这个任务的节点
命令行:#qstat –f 211 (查看有关作业运行具体信息)
显示结果:
解释:exec_host 显示的是实际执行该任务的节点
发表评论
-
图眼高校网IP正在备案,目前暂停访问,给您带来不便表示歉意!
2015-07-24 09:17 473亲, 图眼高校网(http://school.ma ... -
Linux查看登录用户信息
2014-11-07 23:11 677w 命令 功能说明:显示目前登入系统的用户信息。 ... -
SVN常用命令【转】
2014-06-09 16:39 7681、检出svn co http://路径(目录或文件的全 ... -
解决 /usr/bin/ld: cannot find -lxxx [转]
2013-11-05 10:38 1055在linux环境编译应用程式或lib的source code ... -
Linux下常用FTP命令[转]
2013-10-18 18:42 7591. 连接ftp服务器 格式:ftp [hostname| ... -
VI中的多行删除与复制 [转载]
2013-10-15 11:21 1042方法一: 单行删除, ... -
linux:/lib/libc.so.6: version `glibc_2.7′ not found[转]
2013-08-25 10:15 1277转载地址:http://blog.sina.com.cn/s ... -
/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found问题解决
2013-08-24 15:29 1501Redhat上经常出现/usr/lib/libstdc++. ... -
Linux中设置环境变量
2013-08-24 15:15 6871. 更改变量的配置文件 ~/.bash_profile ... -
shell字符串的处理【转】
2012-11-08 22:28 1118shell字符串的处理 截取; s ... -
Ubuntu shell scripts报错:Syntax error: Bad for loop variable解决方法 [转]
2012-11-08 16:03 1093今天晚上在实验室没事写了个简单的shell script 如 ... -
解压xz文件【转】
2012-10-29 20:04 1163最新一段时间会经常听到xz被采用的声音,像是最新的arc ... -
linux搭建Subversion服务器+修改svn端口号[转]
2012-10-26 16:24 7662linux搭建Subversion服务器+修 ... -
用putty中的pscp命令拷贝文件[转]
2012-09-12 09:50 1744如果linux上开着SSH服务,就可以在Windows下 ... -
PBS/torque常见错误[转]
2012-02-24 11:40 42811、# PBS_Server: Resource tempo ... -
SHELL 文件读取【转】
2011-11-29 16:14 1029转自:http://hi.baidu.com ... -
PBS的配置
2011-11-16 15:21 3011PBS的配置 http://grid.tsing ... -
使用Ulimit命令[转]
2011-11-16 15:10 1004使用Ulimit命令 http: ... -
Linux进程管理[转]
2011-11-16 15:06 691LINUX进程管理[转] ... -
CENTOS5中安装Skype
2011-11-01 10:56 975CENTOS 5.5中安装SKYPE(安装包名:skype_s ...
相关推荐
PBS 用户指南-高性能计算集群 PBS(Portable Batch System)用户指南旨在帮助用户更好地使用高性能计算集群,实现高效率的科学计算和数据分析。该指南主要介绍了 PBS 队列、PBS 命令和 PBS 脚本文件的使用。 一、...
在提交WRF作业时,需要编写 PBS 脚本文件,指定作业的各种参数,然后使用 qsub 命令提交作业。通过 qstat 命令,可以查询作业的状态信息。通过 qdel 命令,可以删除已提交的作业。通过 qhold 和 qrls 命令,可以挂起...
此外,了解如何使用pbs_mom和pbs_server等关键组件,以及如何通过`qsub`、`qdel`、`qstat`等命令来管理和监控作业也是必要的。 在实际操作中,可能会遇到各种问题,如作业提交失败、资源分配不均等。在这种情况下,...
以及`qsub`、`qstat`、`qdel`等命令行工具,供用户交互使用,进行作业提交、状态查询和删除等操作。 标签“IA64”和“PBS”揭示了这个软件包与Itanium 64位架构和批处理系统的关联。在选择和部署OpenPBS时,了解...
完成以上步骤后,用户可以通过`qsub`命令提交作业脚本,使用`qstat`检查作业状态,`qdel`删除作业,以及`qacct`查看作业的资源使用情况。 总结来说,安装和配置Torque作业提交系统需要对Linux系统有一定的了解,...
4. **命令行工具**:PBS提供了一系列的命令行工具,如`qsub`用于提交作业,`qstat`用于查看作业状态,`qdel`用于删除作业,方便用户与系统交互。 5. **作业脚本**:在提交作业时,用户需要编写一个作业脚本,其中...
5. **pbs_util**:包含各种实用工具,如`qsub`、`qdel`、`qstat`等,供用户和管理员操作作业。 三、主要功能 1. **作业提交与调度**:用户通过`qsub`命令提交作业,pbs_server根据预设的策略进行调度。 2. **资源...
备忘单系统监控htop CPU和RAM使用情况watch -n 0.5 nvidia-smi用于GPU的watch -n 0.5 nvidia-smi htop,替代: nvidia-smi --loop=1PBS备忘单作业调度qsub [removed]提交脚本qdel 取消提交的工作工作管理qstat -q列...
- 使用`qdel`命令取消已提交但尚未运行或正在运行的作业。 - **作业抢占**: - TORQUE支持作业抢占机制,允许高优先级作业中断低优先级作业的执行。 - **已完成作业**: - 完成的作业会自动释放所占用的资源。 - **...
OpenPBS是由Torque软件系统公司开发的开源版本,源自最初的PBS(Portable Batch System),其设计目标是为分布式计算环境提供一种可移植、易扩展的作业调度系统。OpenPBS允许用户提交复杂的计算任务到集群,由系统...
**Torque Resource Manager**(Torque资源管理器)是一款开源的高性能计算作业调度系统,用于管理和调度分布式计算环境中的任务。它能够支持多种计算节点,并提供丰富的API供用户自定义脚本和策略。该指南为管理员...