我们正在使用SGE(Sun Grid Manager)。 我们对所有用户的并发作业总数有一些限制。
我想知道是否有可能为特定用户的并发运行作业数设置一个临时的自愿限制。
例如,用户dave
即将提交500个工作,但是他不想同时运行超过100个工作,例如,因为他知道工作做了大量的I / O,这些I / O卡住了文件系统(不幸的是,真实的故事)。
那可能吗?
你可以用qconf -mc
定义一个复合体。 叫它像high_io
或任何你想要的东西,并将消费领域设置为YES
。 然后在使用qconf -me global
的全局configuration中或者在使用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 }