Skip to main content
Environment resource parameters control the sandbox created for one task attempt. Use them to reproduce benchmark requirements, prevent one task from exhausting a local machine, or request an appropriate remote sandbox size. Resource limits do not constrain the AgentCompass driver, model endpoint, judge endpoint, or services running outside the selected environment. They are also separate from runtime concurrency and provider scheduling controls.

Understand the Scope

For example, --task-concurrency 8 with cpus: 2 may request up to approximately 16 task CPUs when eight Docker containers are active. Benchmarks that create a fresh verifier sandbox can temporarily keep both task and verifier environments alive within one attempt, so leave headroom rather than sizing the host to the exact product.

Provider Resource Fields

Resource schemas intentionally follow each provider API instead of forcing different providers into one lossy common format. Use agentcompass config docs env <provider> against the installed revision to inspect the exact accepted fields and defaults. Provider pages explain mutually exclusive options and operational constraints that the generated schema cannot capture.

Configure Docker

Set a two-core, 6 GiB container and disable swap by making the combined memory-plus-swap limit equal to the memory limit:
memory_swap requires memory. Use -1 only when unlimited swap is intentional. A storage limit such as {"storage_opt":{"size":"20g"}} works only with Docker storage drivers that support per-container size options.

Configure Daytona

Daytona uses one resources object. CPU and GPU values are counts; memory and disk values are GiB:
AgentCompass also accepts cpus, storage, and gpus as aliases inside the object, but the canonical singular keys above make the provider units clearest. A request can still fail when the selected Daytona target does not offer that shape or the account has insufficient quota.

Configure Modal

For common fixed requests, use the top-level fields:
AgentCompass converts memory size strings to the MiB value expected by Modal. Modal also accepts a two-value CPU or memory pair when separate requested and maximum values are needed. The resources mapping supports aliases such as cpu, cpus, memory, memory_mb, memory_gb, gpu, and gpus; explicit top-level cpu, memory, and gpu values take precedence over their mapping equivalents.

Follow Recipe and Override Precedence

Compatible recipes can translate benchmark task metadata into provider resource fields. For example, a task may define CPU and memory in its benchmark metadata while the Docker, Daytona, and Modal recipes convert those values into their provider-specific units. Explicit compatible --env-params values retain priority over recipe defaults. This gives two useful modes:
  • omit resource fields to reproduce the benchmark or recipe-provided task shape; or
  • pass deliberate overrides when testing another resource profile.
Inspect run_info.json or the resolved execution plan in each task detail to confirm the values used after recipe adaptation. Record overrides in an alignment report because a lower memory limit, different GPU, or CPU throttling can change completion rates and scores.

Choose Safe Values

  1. Start with the benchmark’s official resource metadata or its AgentCompass recipe.
  2. Run one representative task and observe peak memory, CPU saturation, disk growth, startup time, and verifier use.
  3. Add reasonable headroom for package installation, compilation, caches, and transient verifier processes.
  4. Estimate aggregate capacity as per-sandbox resources multiplied by active sandboxes, then set task and provider concurrency below the endpoint and host/provider limits.
  5. Increase concurrency gradually; reduce it when startup failures, OOM kills, throttling, or queueing appear.
A resource failure is part of the measured result when the configured limit matches the official evaluation. Do not silently rerun failed tasks with larger resources and combine them with the original run; document the changed setting and start a comparable run or a clearly identified recovery run.

Diagnose Resource Failures

See agentcompass run for concurrency and retries, and Troubleshooting Runs for phase-based diagnosis.