如何设置 SGE 上每个用户的最大运行作业数?

如何设置 SGE 上每个用户的最大运行作业数?

我们正在使用 SGE (Sun Grid Manager)。我们对所有用户的并发作业总数有一些限制。

我想知道是否可以为特定用户设置临时的、自愿的并发运行作业数量限制。

例如,用户dave即将提交 500 个作业,但他希望同时运行的作业不超过 100 个,例如,因为他知道这些作业执行了大量的 I/O,从而卡住了文件系统(不幸的是,这是真实的故事)。

那可能吗?

答案1

您可以使用 定义一个复合体qconf -mc。将其命名为high_io或 任何您想要的名称,并将 consumable 字段设置为YES。然后在全局配置中使用qconf -me global或在特定队列中使用中qconf -mq <queue name>设置high_io=500复合值。现在告诉您的用户指定-l high_io=1或您希望他们使用的“令牌”数量。这会将并发作业的数量限制为您设置的复合值。

另一种方法是使用配额。添加配额,如下qconf -arqs所示:

 {
        name         dave_max_slots
        description  "Limit dave to 500 slots"
        enabled      true
        limit        users {dave} to slots=500
 }

相关内容