2012-07-17 43 views
0

从SGE节点的系统管理角度来看,是否可以强制用户通过qsub运行长时间运行的程序,而不是单独运行它?防止执行非SGE程序

问题在于同一台机器充当控制节点和计算节点。所以,我无法从正在编译“gcc”的用户中区分长期运行的程序。理想情况下,我想强制用户通过qsub提交长时间运行的作业(即超过一个小时)。我甚至不介意有点意思,杀死超过一个小时但未通过qsub提交的工作。

到现在为止,所有我能做的就是发送电子邮件出要求用户“请用的qsub!” ......

我已经通过SGE配置看去,似乎没有任何相关性。但也许我错过了什么......任何帮助将不胜感激!谢谢!

回答

0

我对你的设置有点困惑,但我假设用户通过登录什么也是计算节点提交作业。这里有一些想法,从最好到最坏:

  1. 很明显,最好的办法是为用户设置一个单独的控制节点。

  2. 限制,运行资源受限的VM作为控制节点。

  3. 在节点上配置用户级资源限制(例如ulimit)。您可以限制CPU,内存和进程的使用情况,这可能是您关心的而不是时钟时间。

这听起来像最后一个可能是最适合你的。这也不难。

+0

谢谢您的建议!对不起,如果我不是很清楚。假设有一个计算密集型程序“foo”。我不想限制“用户A”用“foo”占用的资源。我宁愿他们运行foo作为“qsub ./script-to-run-foo”而不是“./foo”。使用ulimit会限制他们的程序运行的方式。我并不担心这一点,但更担心用户“跳过队列”[其他用户的排队工作]。 – Ray 2012-07-19 03:25:07