25.06.2015 Views

Administering Platform LSF - SAS

Administering Platform LSF - SAS

Administering Platform LSF - SAS

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Supported Resource Usage Limits and Syntax<br />

Data segment size limit<br />

% bsub -c 10/DEC3000 myjob<br />

See “CPU Time and Run Time Normalization” on page 357 for more<br />

information.<br />

File size limit<br />

Memory limit<br />

<strong>LSF</strong> memory limit<br />

enforcement<br />

Job syntax (bsub) Queue syntax (lsb.queues) Fomat/Units<br />

-D data_limit DATALIMIT=[default] maximum integer KB<br />

Sets a per-process (soft) data segment size limit in KB for each process that<br />

belongs to this batch job. An sbrk() or malloc() call to extend the data<br />

segment beyond the data limit returns an error. The default is no soft limit.<br />

Job syntax (bsub) Queue syntax (lsb.queues) Fomat/Units<br />

-F file_limit FILELIMIT=limit integer KB<br />

Sets a per-process (soft) file size limit in KB for each process that belongs to<br />

this batch job. If a process of this job attempts to write to a file such that the<br />

file size would increase beyond the file limit, the kernel sends that process a<br />

SIGXFSZ signal. This condition normally terminates the process, but may be<br />

caught. The default is no soft limit.<br />

Job syntax (bsub) Queue syntax (lsb.queues) Fomat/Units<br />

-M mem_limit MEMLIMIT=[default] maximum integer KB<br />

Sets the memory limit, in KB.<br />

If LSB_MEMLIMIT_ENFORCE or LSB_JOB_MEMLIMIT in lsf.conf are set to<br />

y, <strong>LSF</strong> kills the job when it exceeds the memory limit. Otherwise, <strong>LSF</strong> passes<br />

the memory limit to the operating system. Some operating systems apply the<br />

memory limit to each process, and some do not enforce the memory limit at all.<br />

To enable <strong>LSF</strong> memory limit enforcement, set LSB_MEMLIMIT_ENFORCE in<br />

lsf.conf to y. <strong>LSF</strong> memory limit enforcement explicitly sends a signal to kill<br />

a running process once it has allocated memory past mem_limit.<br />

You can also enable <strong>LSF</strong> memory limit enforcement by setting<br />

LSB_JOB_MEMLIMIT in lsf.conf to y. The difference between<br />

LSB_JOB_MEMLIMIT set to y and LSB_MEMLIMIT_ENFORCE set to y is that<br />

with LSB_JOB_MEMLIMIT, only the per-job memory limit enforced by <strong>LSF</strong> is<br />

enabled. The per-process memory limit enforced by the OS is disabled. With<br />

LSB_MEMLIMIT_ENFORCE set to y, both the per-job memory limit enforced by<br />

<strong>LSF</strong> and the per-process memory limit enforced by the OS are enabled.<br />

LSB_JOB_MEMLIMIT disables per-process memory limit enforced by the OS<br />

and enables per-job memory limit enforced by <strong>LSF</strong>. When the total memory<br />

allocated to all processes in the job exceeds the memory limit, <strong>LSF</strong> sends the<br />

following signals to kill the job: SIGINT first, then SIGTERM, then SIGKILL.<br />

352<br />

<strong>Administering</strong> <strong>Platform</strong> <strong>LSF</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!