Feature Type
Nice to have
Feature Description
Environment
- Deployment: Docker container
- Container specs: 1 CPU core, 2 GB RAM
- OS / Base image: [ ghcr.io/astral-sh/uv:python3.13-bookworm-slim ]
- Python Agent / Node.js Agent: Python
- Default start command:
uv run src/agent.py start
Description
When running the AgentServer in a single-core, 2GB RAM Docker container with default multiprocessing setup:
- Each new Job spawns a separate process (forkserver/spawn)
- CPU and memory usage quickly saturates
- Only ~4-5 concurrent rooms can be handled before new jobs are rejected due to load or OOM
Steps to Reproduce
- Start AgentServer in Docker with single core, 2GB RAM
- Dispatch multiple rooms/jobs simultaneously
- Observe
no servers available errors after 4-5 rooms
Current Behavior
- High memory footprint per Job
- Multiple Python processes are spawned per Job (observed via
ps -ef | grep python)
- Default
load_threshold in production (0.7) triggers job rejection quickly
Expected Behavior
- Support more concurrent rooms on low-resource environments
- Optionally provide guidance or configuration options to optimize memory/CPU usage for small containers
Questions / Suggestions
- Can the AgentServer use async-only execution without separate process per Job, for low-resource deployments?
- Are there config flags to reduce per-Job memory usage or limit multiprocessing overhead?
- Is it possible to tune process pool / job executor / idle processes to better fit single-core, 2GB environments?
Workarounds / Alternatives
No response
Additional Context
No response
Feature Type
Nice to have
Feature Description
Environment
uv run src/agent.py startDescription
When running the AgentServer in a single-core, 2GB RAM Docker container with default multiprocessing setup:
Steps to Reproduce
no servers availableerrors after 4-5 roomsCurrent Behavior
ps -ef | grep python)load_thresholdin production (0.7) triggers job rejection quicklyExpected Behavior
Questions / Suggestions
Workarounds / Alternatives
No response
Additional Context
No response