跳转至

qsub系统适用于服务器集群的任务提交 参考地址

qsub提交系统使用说明

运行命令

qsub run.s

PBS的walltime于qsub -a 的时间格式是不一样的

#PBS -l walltime=296:00:00这是设置程序最大运行时间为296小时。这个时间不一定严格要求是每级2个字符,同时默认的最低级是秒。

制定命令开始运行的时间19小时05分钟

qsub -a 1905 run.s qsub -a参数详解 默认是[[[YY]MM]DD]hhmm[.ss]对应年月日时分秒,每一级2个字符。 正确的写法 例如:

qusb -a 070000 run.s  #7天后运行程序,此时是处于W状态(等待状态)
qsub -a 2400 run.s #24h后运行程序

运行命令前修改run.s里面的工作路径和sh脚本名称

sh脚本是真正需要运行的命令

#参数解析
#指定节点数目 ppn指每个节点运行的cpu数量(4个小节点,每个48个CPU)
#PBS -l nodes=1:ppn=16

#指定合并到标准输出文件中
#PBS -j oe
#设置程序运行的最大时间192小时
#PBS -l walltime=192:00:00

#指定qsub的所有环境变量都传递到批处理作业中
#PBS -V

#输出文件
#PBS -o /public/home/tang/chaim/back_info/$jobname.out

#错误输出文件
#PBS -e /public/home/tang/chaim/back_info/$jobname.err

查看状态qstat

#查询已经配置的所有节点池状态信息
qstat -q
#显示已经提交的作业状态信息
qstat -a
#显示制定作业的所有状态信息
qstat -f 23.console
#显示服务器状态
qstat -B
#查看指定任务的运行情况
qstat -f 1354 #查看任务id为1354的详细信息
#查看服务器空闲节点
pbsnodes -l free
#查看所有节点运行情况
pbsnodes 
#查看用户所提交的作业
qsub -q long run.s
#删除任务
qdel 1305
qdel -u mei #删除mei这个用户的所有任务
#查看用户进程
qstat -u  *  #所有用户的任务
qstat -u username #查看指定用户任务
qstat -j 1308 #查看任务1308(id号)的详细信息
#挂起进程
qmod -s 1323 #挂起1323任务
#继续运行某个挂起的任务
qmod -us 1323  
qstat
Job id           Name             User        Time Use   S               Queue
—————-   —————-      —————-    ————   ——
1305.node100    test             tang          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  只用于子任务,表示子任务完成
    * C 表示程序正在被关闭,一般是程序运行错误,报错。

在PBS的参数设置时,不要使用变量,我使用变量,结果是参数无效。

回到页面顶部