Changing the units for resource usage limits

Use the LSF_UNIT_FOR_LIMITS parameter in the lsf.conf file to specify larger units for resource usage limits.

The default unit for the following resource usage limits is KB:
  • Core limit (-C and CORELIMIT)
  • Memory limit (-M and MEMLIMIT)
  • Stack limit (-S and STACKLIMIT)
  • Swap limit (-v and SWAPLIMIT)

This default may be too small for environments that make use of very large resource usage limits, for example, GB, TB, or larger.

The unit for the resource usage limit can be one of:
  • KB or K (kilobytes)
  • MB or M (megabytes)
  • GB or G (gigabytes)
  • TB or T (terabytes)
  • PB or P (petabytes)
  • EB or E (exabytes)
  • ZB or Z (zettabytes)

The LSF_UNIT_FOR_LIMITS parameter in the lsf.conf file applies cluster-wide to limits at the job-level (bsub command), queue-level (lsb.queues file), and application level (lsb.applications file).

The limit unit specified by the LSF_UNIT_FOR_LIMITS parameter also applies to limits modified with bmod, and the display of resource usage limits in query commands (bacct, bapp, bhist, bhosts, bjobs, bqueues, lsload, and lshosts).

By default, the tmp resource is not supported by the LSF_UNIT_FOR_LIMITS parameter. Use the parameter LSF_ENABLE_TMP_UNIT=Y to enable the LSF_UNIT_FOR_LIMITS parameter to support limits on the tmp resource.

Important: Before you change the units of your resource usage limits, completely drain the cluster of all workload, so that no running, pending, or finished jobs are in the system.

In the LSF multicluster capability environment, configure the same unit for all clusters.

After you change the LSF_UNIT_FOR_LIMITS parameter, you must restart your cluster.

How changing the limit unit affects command options and output

When the LSF_UNIT_FOR_LIMITS parameter is specified, the defined unit is used for the following commands. In command output, the larger unit appears as T, G, P, E, or Z, depending on the job rusage and the unit defined.
Command Option or output Default unit
bsub/bmod -C (core limit) KB
-M (memory limit) KB
-S (stack limit) KB
-v (swap limit) KB
bjobs rusage

CORELIMIT, MEMLIMIT, STACKLIMIT, SWAPLIMIT

KB (might show MB depending on job rusage)
bqueues CORELIMIT, MEMLIMIT, STACKLIMIT, SWAPLIMIT KB (might show MB depending on job rusage)
loadSched, loadStop MB
bacct Summary rusage KB (might show MB depending on job rusage)
bapp CORELIMIT, MEMLIMIT, STACKLIMIT, SWAPLIMIT KB
bhist History of limit change by bmod KB
MEM, SWAP KB (might show MB depending on job rusage)
bhosts loadSched, loadStop MB
lsload mem, swp KB (might show MB depending on job rusage)
lshosts maxmem, maxswp KB (might show MB depending on job rusage)

Example

A job is submitted with bsub -M 100 and the LSF_UNIT_FOR_LIMITS=GB parameter is set. The memory limit for the job is 100 GB rather than the default 100 MB.