qsub使用方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qsub使用方法相关的知识,希望对你有一定的参考价值。

环境:

SGE管理主机:192.168.1.12

SGE提交主机,执行主机:192.168.1.10,192.168.1.12,192.168.1.15


管理主机启动服务,ps能过滤出俩个sge服务表示启动成功:

[[email protected] ~]# /etc/init.d/sgemaster.BrainCluster start
   starting sge_qmaster
[[email protected] ~]# /etc/init.d/sgeexecd.BrainCluster start
   starting sge_execd
[[email protected] ~]# ps -aux |grep sge
Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ
sgeadmin  3866  0.0  0.1 248064  5688 ?        Sl   11:49   0:00 /gridware/sge/bin/lx24-amd64/sge_qmaster
sgeadmin  3962  0.0  0.0 154364  2192 ?        Sl   11:49   0:00 /gridware/sge/bin/lx24-amd64/sge_execd
root      3974  0.0  0.0 103312   880 pts/0    S+   11:55   0:00 grep --color sge
[[email protected] ~]# source /gridware/sge/default/common/settings.csh
#加载环境变量,如果用户使用的是tcsh shell的话,加载此条命令
#如果用户使用的shell的话,就加载以下命令
[[email protected] ~]# sh /gridware/sge/default/common/settings.sh

提交主机,执行主机单独启动execd服务就行:

[[email protected] ~]# /etc/init.d/sgeexecd.BrainCluster start
starting sge_execd
[[email protected] ~]# source /gridware/sge/default/common/settings.csh 
#加载环境变量,如果用户使用的是tcsh shell的话,加载此条命令
#如果用户使用的shell的话,就加载以下命令
[[email protected] ~]# sh /gridware/sge/default/common/settings.sh
[[email protected] ~]# ps -aux |grep sge
sgeadmin  3962  0.0  0.0 154364  2192 ?        Sl   11:49   0:00 /gridware/sge/bin/lx24-amd64/sge_execd
root      3974  0.0  0.0 103312   880 pts/0    S+   11:55   0:00 grep --color sge


以下是管理命令:

qconf -sh                  #  显示管理主机列表
qconf -ah hostname         #  添加管理主机,hostname表示添加对应的管理主机名
qconf -dh hostname         #  删除管理主机
qconf -sel                 #  显示执行主机列表
qconf -ae hostname         #  添加执行主机
qconf -de hostname         #  删除执行主机
qconf -ss                  #  显示提交主机列表
qconf -as                  #  添加提交主机
qconf -ds                  #  删除提交主机

qstat -f                   #  显示执行主机状态
qstat -u user              #  查看用户的作业
qhost                                 # 显示执行主机资源信息
qacct                                 # 此命令从群集日志文件中抽取任意帐户信息。
qalter                                # 此命令更改已提交但正处于暂挂状态的作业的属性。
qdel                                  # 用户、操作人员或管理人员可使用此命令向作业或其子集发送信号。
qhold                                 # 此命令阻止已提交作业的执行。
qhost                                 # 此命令显示Sun Grid Engine 执行主机的状态信息。
qlogin                                # 此命令启动telnet 或类似的登录会话,并自动选择负荷较低并且较为适合的主机。
qmake                                 # 此命令可取代标准的UNIX make 命令工具。它扩充了make 的功能,能够将相互独立的make 步骤分配到一组适合的机器。
qmod                                  # 此命令使拥有者可以暂停或启用队列(将信号发送给当前与此队列相关的所有活动进程)。
qmon                                  # 此命令提供了X-windows Motif 命令界面和监视工具。
qresub                                # 此命令通过复制正在运行或暂挂的作业,创建新的作业。
qrls                                  # 此命令释放先前被阻止执行的作业,例如通过qhold (见上)阻止执行


以下是提交作业:

qsub options script                # 格式,common可以是脚本,也可以命令
options参数详解:
-a   date_time                     # 作业开始运行时间
-cwd                               # 从当前工作路径运行作业
-c   (n|s|m|x)                   # 定义作业是否进行checkpoint,n表示不检测,s表示作业宕机是检测,m表示当cpu负载小时进行,x表示作业暂停时进行
-e                                 # 指定错误输出文件路径和文件名
-hold_jid wc_job_list              # 定义作业的依赖关系,制定作业需要在指定作业正常结束后才可以开始运行。wc_job_list 可以是JOB ID或作业名
-i                                 # 定义输入文件
-m b|e|a|s|n                       # 定义邮件发送规则,b作业开始时发送,e作业结束后发送,a作业失败发送,n不发送,s作业挂起时发送
-M   emaill                        # 定义邮件地址
-now y|n                           # 立即执行作业,y表示yes,n表示no
-N                                 # 表示作业名
-r  y|n                            # 表示作业失败后是否重新运行
-o  path                           # 定义输出文件路径,文件名
script格式:
#!/bin/sh
#$ -S /bin/sh
date
sleep 20
date

实例:
qsub -o ~/a.txt -e ~/b.txt /gridware/sge/examples/jobs/simple.sh
表示脚本执行的结果正确输出到/root/a.txt,错误输出到/root/b.txt,如果不指定会在该用户目录下生成类似(脚本名.e|0.任务ID)的文件


本文出自 “Yasar” 博客,请务必保留此出处http://yasar.blog.51cto.com/9120455/1852656

以上是关于qsub使用方法的主要内容,如果未能解决你的问题,请参考以下文章

在 qsub 下重定向我的 java 程序的输出

qsub使用方法

集群使用qsub与slurm投递任务方法

SGE:qsub/qstat/qdel/qhost 任务投递和监控

mrMLM-qsub

qsub和 nohup ... & jobs