Platform LSF Administration Guide Version 6.2
Chapter 29
Runtime Resource Usage Limits
Administering Platform LSF
469
OS memory limit
enforcement
OS enforcement usually allows the process to eventually run to completion. LSF passes
mem_limit to the OS, which uses it as a guide for the system scheduler and memory
allocator. The system may allocate more memory to a process if there is a surplus. When
memory is low, the system takes memory from and lowers the scheduling priority (re-
nice) of a process that has exceeded its declared mem_limit.
OS memory limit enforcement is only available on systems that support
RLIMIT_RSS
for
setrlimit().
The following operating systems do not support the memory limit at the OS level:
◆
Microsoft Windows
◆
Sun Solaris 2.x
Process limit
Sets the limit of the number of processes to process_limit for the whole job. The default
is no limit. Exceeding the limit causes the job to terminate.
Limits the number of concurrent processes that can be part of a job.
If a default process limit is specified, jobs submitted to the queue without a job-level
process limit are killed when the default process limit is reached.
If you specify only one limit, it is the maximum, or hard, process limit. If you specify two
limits, the first one is the default, or soft, process limit, and the second one is the
maximum process limit.
Run time limit
A run time limit is the maximum amount of time a job can run before it is terminated.
It sets the run time limit of a job. The default is no limit. If the accumulated time the job
has spent in the RUN state exceeds this limit, the job is sent a USR2 signal. If the job
does not terminate within 10 minutes after being sent this signal, it is killed.
With deadline constraint scheduling configured, a run limit also specifies the amount of
time a job is expected to take, and the minimum amount of time that must be available
before a job can be started.
Jobs submitted to a chunk job queue are not chunked if the run limit is greater than 30
minutes.
Format
run_limit is in the form [hour:]minute, where minute can be greater than 59. 3.5 hours
can either be specified as 3:30 or 210.
Normalized run
time
The run time limit is normalized according to the CPU factor of the submission host
and execution host. The run limit is scaled so that the job has approximately the same
run time for a given run limit, even if it is sent to a host with a faster or slower CPU.
Job syntax (bsub) Queue syntax (lsb.queues) Fomat/Units
-p process_limit
PROCESSLIMIT=[
default
]
maximum
integer
Job syntax (bsub) Queue syntax (lsb.queues) Fomat/Units
-W run_limit
RUNLIMIT=[default] maximum
[hours:]minutes[
/host_name |
/host_model]