当qsub在StarCluster / SGE集群上执行作业时,是否有一种简单的方法可以确保每个节点一次最多只接收一个作业?我遇到问题,多个作业在同一个节点上结束,导致内存不足(OOM)问题。
我试过使用-l cpu=8,但我认为这并不是检查使用过的核的数量,而是检查框本身上的核数。
我也尝试过-l slots=8,但之后我得到了:
Unable to run job: "job" denied: use parallel environments instead of requesting slots explicitly.发布于 2014-09-22 23:37:14
在您的配置文件(.star群集/ config )中,添加以下部分:
[plugin sge]
setup_class = starcluster.plugins.sge.SGEPlugin
slots_per_host = 1发布于 2014-09-04 19:21:35
这在很大程度上取决于集群资源的配置方式,即内存限制等。然而,有一件事需要尝试,就是为每个作业请求大量内存:
-l h_vmem=xxG这将产生副作用,即排除其他作业在节点上运行,因为该节点上的大部分内存已经被另一个先前运行的作业请求。
只需确保请求的内存不超过节点的允许限制。通过检查qstat -j <jobid>的输出是否存在错误,可以看出它是否绕过了这个限制。
发布于 2014-09-10 21:02:41
为此,我使用:qconf -aattr queue slots "[nodeXXX=1]" all.q将每个我的节点上的插槽数设置为1个
https://stackoverflow.com/questions/25672896
复制相似问题