从sge下的qsub命令中排除节点

Yot*_*tam 13 qsub nodes sungridengine

我有200多个工作需要提交给sge集群.我将把它们提交给两个问题.其中一个问题是我不想提交工作的机器.我怎样才能排除那台机器?我发现的唯一可能有用的是(假设q1有三个有效节点,q2的所有可用节点都有效):

qsub -q q1.q@n1 q1.q@n2 q1.q@n3 q2.q
Run Code Online (Sandbox Code Playgroud)

Wil*_*Hay 20

假设您不想运行它被称为n4,那么将以下内容添加到您的脚本应该可行.

#$ -l h=!n4
Run Code Online (Sandbox Code Playgroud)

  • 我得到"qsub:提交错误(未知资源类型Resource_List.h)" (3认同)
  • h=!h4&!h5 或 h=!(h4|h5) 应该这样做。 (3认同)
  • 谢谢。如何对两个主机名执行此操作?`#$ -lh=!n4 h!=n5` 或 `#$ -lh!=n4,n5` 不起作用 (2认同)
  • -lh ='!n4'`对我来说。 (2认同)

Yot*_*tam -5

有一个很好的绕过方法。

生成一个简单的 bash 文件:

#!/bin/bash
sleep 6000 #replace 6000 with any long period of time that will be enough to submit your jobs
Run Code Online (Sandbox Code Playgroud)

将此作业提交到您要排除的节点,直到它们完全占用该节点。

瞧,您的节点已被排除。

  • 对于更大的共享集群来说,这是一个糟糕的建议。 (4认同)