Skip to content

Resource Limits Config Group

Resource Limits config group enables administrators to set strict upper boundaries for CPU and memory usage within execution profiles. These limits are enforced at the operating system level and prevent workloads from exceeding allocated resources.

Scope

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

Linux workers: cgroups v2 Required

Resource limit enforcement on Linux requires cgroups v2. Jobs will fail with an error message if cgroups v2 is not available or properly configured.

Configure Resource Limits

  1. Navigate to Hub Administration > Execution Profiles in the portal.
  2. Select or create an execution profile.
  3. Go to the Resources tab.
  4. Go to the Resource Limiting section.

Resource limits are applied based on the worker node's operating system. Configure the appropriate limits for your environment:

CPU Limits

  1. Enable the switch for Limit CPU.
  2. In the Limit CPU field, enter the maximum CPU allocation in MHz
  3. Calculate based on total system capacity (logical processors × clock speed)

CPU Limit Calculation

System: 16 logical processors × 2500 MHz = 40,000 MHz total
Desired limit: 2000 MHz (5% of total capacity)

Memory Limits

  1. Enable the switch for Limit physical memory.
  2. In the Limit physical memory field, enter the maximum memory in MB
  3. Configure swap strategy using the Swap Size drop-down
  4. Swap Options:
    • Use unlimited swap: No swap restrictions
    • Use a multiplier of physical memory limit Enter a value (e.g., 2.0 for 2x memory limit)
    • Use a specific value: Enter specific swap limit in MB
    • Do not use swap: Strict physical memory limits
  1. Enable the switch for Limit total virtual memory.
  2. In the Limit total virtual memory field, enter the maximum total memory in MB
  3. Includes both physical memory and virtual memory (pagefile)

Configuration Validation

Always validate resource limits against actual system capacity and workload requirements before applying to production execution profiles.

Apply Configuration

  1. Click Save Changes to apply the resource limits configuration
  2. The limits will be enforced for all new workloads using this execution profile and have no effect on existing workloads.

Guidelines

CPU Limit

  • Calculate limits based on fair-share allocation of total MHz capacity
  • Consider peak usage patterns and concurrent workload requirements
  • Start with conservative limits and adjust based on monitoring

Memory Limit

  • Set limits based on typical workload memory usage plus overhead
  • For Linux systems, choose swap strategy based on performance requirements:
    • No swap For predictable performance
    • Multiple (1-2x): For balanced performance
    • Unlimited: Only for development or non-critical workloads

Troubleshooting

Common Issues

Jobs failing with cgroups v2 errors (Linux):

  • Verify cgroups v2 is enabled on worker nodes
  • Check system configuration and kernel support

Unexpected job terminations with Out of Memory error:

  • Review memory limit settings against actual workload requirements
  • Check for memory leaks or inefficient resource usage in workloads

Performance degradation:

  • Monitor CPU throttling frequency
  • Adjust CPU limits based on actual usage patterns