Skip to content

Resource Limits Config Group

Resource Limits config group enforces strict upper boundaries for CPU and memory usage for each workload within an execution profile. These limits prevent workloads from consuming excessive system resources and ensure system stability in resource-constrained environments.

Unlike Resource Requirements config groups that define budgeted resources for scheduling, Resource Limits config group sets hard enforcement boundaries that cannot be exceeded during execution.

Scope

Resource limits do not apply to On Demand API and Library Server workloads.

CPU Limit Behavior

When a workload reaches its CPU limit, the system throttles CPU usage rather than terminating the process. This throttling may result in:

  • Slower job performance
  • Increased job duration
  • Reduced overall throughput

Memory Limit Behavior

Memory limits enforce hard boundaries. Workloads that exceed their memory allocation are terminated immediately with an Out of Memory error message displayed in the results table.

On Linux systems, swap configuration affects memory limit behavior:

  • Use unlimited swap: No swap restrictions (not recommended for most workloads)
  • Use a multiplier of physical memory limit: Swap scales proportionally with the memory limit (e.g. 2.0 for 2×)
  • Use a specific value: Additional swap memory up to the specified limit (in MB)
  • Do not use swap: Strict physical memory limits with immediate termination

Dynamic Configuration Updates

Resource limits support dynamic updates without requiring service restarts:

  • New jobs: Updated limits take effect immediately for jobs submitted after configuration changes
  • Running jobs: Continue using limits (if configured) that were active when they started, unaffected by subsequent updates

This allows administrators to adjust resource constraints without disrupting currently running workloads.

Interaction with SLC memsize

Resource Limits (memory) and SLC MEMSIZE options operate independently:

  • Resource Limits: Define maximum memory allocation at the operating system level
  • SLC MEMSIZE: Specifies maximum memory available to SLC

When both are configured, the most restrictive value applies. Resource Limits provide system-level protection while SLC MEMSIZE controls application-level memory usage.