我们正在使用 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
}