指定资源使用限制

关于本任务

队列可以对正在运行的作业实施资源使用限制。 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