gridengine qsub常用方法

来源:互联网 发布:超市进销存软件 编辑:程序博客网 时间:2024/05/17 23:35

=== 1. 提交任务:`qsub` ===
 * 提交job的最简单命令是:
{{{
  qsub scriptname
}}}
  `scriptname` 是要执行的任务文件名称,一般是一个bash脚本文件。
  在以上最简单命令的缺省情况下,GridEngine会
   - 在你的 home directory 开始执行job,并以此为基准计算相对路径
   - 将 `stout` 写到名为 `scriptfile.ojobID` 的文件,将 `stderr` 写到 `scriptfile.ejobid`(`scriptfile`是脚本名称,`jobID`是job number。因此如果job number是12345,脚本是“test”,则输出文件为 `test.o12345` and `test.e12345`)
  * 指定工作路径为当前目录
{{{
  qsub -cwd scriptname
}}}
  * 指定 `stdout` 和 `stderr` 的输出文件
{{{
  qsub -o outputfile -e errorfile scriptname
}}}
  以上会把`stdout` 和 `stderr`写到当前目录下的`outputfile` 和 `errorfile`文件。
  * 让一个job等待另一组job执行完毕之后再开始执行
{{{
  qsub -hold_jid 45,46,47,48 scriptname
}}}
   以上命令保证 `scriptname` 会等待 45-48 号job结束之后再开始执行。
  * 指定job的优先级
{{{
  qsub -p 100 scriptname
}}}
  以上命令指定了scriptname的优先级属性为100,优先级较高的job会抢占那些已经提交的优先级较低的job的资源,即让优先级较低的job暂停,直接使用计算资源,job完成后再恢复原来优先级较低的job,使其继续运行。

=== 2. 检查job状态:`qstat` ===
 * 检查提交job的状态,可以采用`stat` 命令,主要job的状态包括

  || 状态 || 含义 ||
  || r || 正在执行 ||
  || s || 被暂时挂起,往往是由于优先级更高的job抢占了资源 ||
  || qw || 正在等待,一旦有计算资源会马上执行 ||
  || hqw || 该job依赖于其它正在执行的job,待前面的job执行完毕后再开始执行 ||
  || Eqw || job的提交产生错误,例如输出目录不存在 ||

  * 检查某个用户的job
{{{
qstat -u userid
}}}
`qstat -u '*'` 检查所有用户的job
  * 检查job的状态 
{{{
qstat -f
}}}
  * 仅仅检查正在执行的job
{{{
qstat -s r
}}}
  * 仅仅检查被挂起的job
{{{
qstat -s p
}}}
  * 检查一个特定job的资源使用和退出情况
{{{
qstat -j jobid
}}}

=== 3. 检查安装了GridEngine的各个机器的状态 ===
{{{
qhost
}}}

0 0
原创粉丝点击