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的参数设置时,不要使用变量,我使用变量,结果是参数无效。