指定资源使用限制
关于本任务
队列可以对正在运行的作业实施资源使用限制。 LSF 支持底层操作系统支持的大部分限制。 此外, LSF 还支持底层操作系统不支持的几个限制。
过程
使用 lsb.queues中的参数指定队列级别资源使用限制。
指定队列级别资源使用限制
关于本任务
lsb.queues 中配置的限制适用于提交到队列的所有作业。 作业提交时指定的作业级别资源使用限制将覆盖队列定义。
过程
仅指定资源的最大值。
例如,要指定最大运行限制,请对 lsb.queues中的 RUNLIMIT 参数使用一个值:
RUNLIMIT = 10队列的最大运行限制为 10 分钟。 作业运行时间不能超过 10 分钟。 在 RUN 状态超过 10 分钟的作业被 LSF 杀死。
如果仅指定了一个运行限制,那么不允许使用 bsub -W 提交的具有超过最大运行限制的运行限制的作业运行。 允许在没有 bsub -W 的情况下提交的作业运行,但当它们处于 RUN 状态的时间超过指定的最大运行限制时,将终止这些作业。
例如,在 lsb.queues中:
RUNLIMIT = 10缺省值和最大值
如果指定两个限制,那么第一个限制是队列中作业的缺省限制,第二个限制是最大 (硬) 限制。 缺省值和最大限制都必须是正整数。 缺省限制必须小于最大限制。 如果缺省限制大于最大限制,那么将忽略该缺省限制。
使用缺省限制以避免必须在 bsub 命令中指定资源使用限制。
例如,要指定缺省值和最大运行限制,请对 lsb.queues中的 RUNLIMIT 参数使用两个值:
RUNLIMIT = 10 15- 第一个数字是应用于队列中所有作业的缺省运行限制,这些作业是在没有特定于作业的运行限制 (不含 bsub -W) 的情况下提交的。
- 第二个数字是应用于队列中使用特定于作业的运行限制 (使用 bsub -W) 提交的所有作业的最大运行限制。 缺省运行限制必须小于最大运行限制。
您可以在 lsb.queues中指定以下资源使用限制的缺省值和最大值:
- CPULIMIT
- 数据限制
- 内存限制
- 进程限制
- 运行限制
- 线程限制
具有两个限制的主机规范
如果为 CPU 时间限制或运行时间限制指定了缺省和最大限制,那么只允许一个主机规范。 例如,以下 CPU 限制是正确的 (并且具有相同的效果):
CPULIMIT = 400/hostA 600
CPULIMIT = 400 600/hostA以下 CPU 限制不正确:
CPULIMIT = 400/hostA 600/hostB以下运行限制是正确的 (并且具有相同的效果):
RUNLIMIT = 10/hostA 15
RUNLIMIT = 10 15/hostA以下运行限制不正确:
RUNLIMIT = 10/hostA 15/hostB