Skip to main content
Environment resource parameters limit what a local instance can use or specify the CPU, memory, storage, and GPU requested for a remote instance. Use them to keep one task from consuming excessive resources or to request a remote instance that matches Benchmark requirements. They do not limit the AgentCompass host process, model service, or other external services.
host_process runs commands directly on the host and cannot enforce Environment-level CPU, memory, storage, or GPU limits. Choose another provider when you need resource isolation.

Separate Resources from Scheduling

These four settings solve different problems: For example, Docker cpus: 2 limits each container to two cores, while --task-concurrency 8 permits up to eight tasks to be processed concurrently. Neither setting replaces the other. Task and verifier Environments are also separate resource allocations. When a Benchmark requires a fresh verifier Environment, AgentCompass normally closes the task Environment before creating it. They overlap only when --keep-environment retains the task Environment. See Run Controls for the full behavior of concurrency, open rate, and --keep-environment.

Provider Capabilities and Units

Provider APIs use different resource models and units, so these fields cannot use one common format. Use the following command to inspect the exact fields and defaults accepted by the installed revision:
Each provider page explains its field formats, account quotas, and operating requirements in more detail.

Configure Resources

The following examples use the same task to compare the Docker, Daytona, and Modal resource shapes. Each one selects a single task through sample_ids and assigns 2 CPU cores and 6 GiB of memory to each Environment. These values demonstrate the syntax; they are not a recommended Benchmark configuration. The examples use agentcompass run. See Configure an Environment for configuration-file, Python SDK, and launch orchestration-file forms.

Docker

Setting memory_swap equal to memory provides no additional swap allowance. See Docker resource parameters for the field formats.

Daytona

Daytona interprets resources.memory in GiB. The recipe for this combination selects the task image, so the request applies to an image-based sandbox. Daytona does not apply resources if you explicitly switch to a snapshot. See Daytona resource parameters for the field formats.
Modal accepts top-level resource fields as well as a resources object; the example uses the more direct top-level form. See Modal resource parameters for the field formats.
A Docker storage limit works only when the storage driver supports per-container size limits. A remote provider may also reject a request because of account quota, regional capacity, or an unavailable instance shape.

Recipe Resources and Explicit Overrides

Some recipes read task resource requirements from a Benchmark and translate them into the selected provider’s fields and units. For example, the same memory requirement may be expressed in GiB for Daytona and converted to another accepted format for Modal. Built-in recipes usually preserve compatible explicit resource values, but the exact adaptation still depends on the recipe and Benchmark. As a result:
  • to reproduce the Benchmark resource conditions, start with the defaults supplied by its recipe; and
  • to compare another resource profile, override it explicitly and record the change with the results.
Resource changes can affect task completion and scores. Do not combine runs made under different resource limits as though they used the same evaluation conditions.

Estimate Aggregate Capacity

Estimate capacity in this order:
  1. Start with the resource requirements supplied by the Benchmark or recipe.
  2. Run one representative task and observe peak memory, CPU use, disk growth, and verifier needs.
  3. Leave headroom for dependency installation, compilation, and caches.
  4. Estimate aggregate use from per-instance resources and actual concurrency, then adjust task and provider limits.
  5. Increase concurrency gradually, reducing it when OOM failures, creation errors, or sustained queueing appear.
Capacity planning should focus on how many Environment instances can exist at the same time. --env-open-qps changes only how quickly new instances begin creation; it does not limit the number of running instances.

Troubleshoot Resource Problems

For other failures, see Troubleshooting Runs.