我们正在使用 SGE(Sun Grid Manager)。我们对所有用户的并发作业总数有一些限制。
我想知道是否可以对特定用户的并发运行作业数量设置一个临时的、自愿的限制。
例如,用户dave将要提交 500 个作业,但他不希望同时运行 100 个作业,例如,因为他知道这些作业执行了大量 I/O,从而卡住了文件系统(不幸的是,这是真实的故事)。
那可能吗?
您可以使用 定义一个复合体qconf -mc。将其命名为类似high_io或任何您喜欢的名称,并将消耗品字段设置为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
}
Run Code Online (Sandbox Code Playgroud)