首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在StarCluster / SunGridEngine (SGE)上确保每个节点一个作业

在StarCluster / SunGridEngine (SGE)上确保每个节点一个作业
EN

Stack Overflow用户
提问于 2014-09-04 18:43:22
回答 3查看 1.7K关注 0票数 4

qsub在StarCluster / SGE集群上执行作业时,是否有一种简单的方法可以确保每个节点一次最多只接收一个作业?我遇到问题,多个作业在同一个节点上结束,导致内存不足(OOM)问题。

我试过使用-l cpu=8,但我认为这并不是检查使用过的核的数量,而是检查框本身上的核数。

我也尝试过-l slots=8,但之后我得到了:

代码语言:javascript
复制
Unable to run job: "job" denied: use parallel environments instead of requesting slots explicitly.
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-22 23:37:14

在您的配置文件(.star群集/ config )中,添加以下部分:

代码语言:javascript
复制
[plugin sge]
setup_class = starcluster.plugins.sge.SGEPlugin
slots_per_host = 1
票数 4
EN

Stack Overflow用户

发布于 2014-09-04 19:21:35

这在很大程度上取决于集群资源的配置方式,即内存限制等。然而,有一件事需要尝试,就是为每个作业请求大量内存:

代码语言:javascript
复制
-l h_vmem=xxG

这将产生副作用,即排除其他作业在节点上运行,因为该节点上的大部分内存已经被另一个先前运行的作业请求。

只需确保请求的内存不超过节点的允许限制。通过检查qstat -j <jobid>的输出是否存在错误,可以看出它是否绕过了这个限制。

票数 1
EN

Stack Overflow用户

发布于 2014-09-10 21:02:41

为此,我使用:qconf -aattr queue slots "[nodeXXX=1]" all.q将每个我的节点上的插槽数设置为1个

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25672896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档