Thanks — I’m happy to help. You’re asking whether 2 CPU / 4 GB RAM is enough for an agent server; I’ll cover the short answer, when it might be OK, and a couple of quick follow-ups so I can give a more precise recommendation.
Short answer
• 2 CPUs and 4 GB RAM is below LiveKit’s recommended starting point for most voice AI agent workloads. It may be borderline or insufficient for production voice agents, especially if you have concurrent sessions or use CPU-intensive features.
When 2 CPU / 4 GB might be acceptable
• Lightweight, low-concurrency workloads: simple transcription-only agents, no heavy real‑time audio processing, and only a few concurrent sessions.
• Development, testing, or proof-of-concept with very low traffic.
When you’ll likely need more resources
• Voice agents that use noise cancellation, real‑time VAD/TTS/STT, or other CPU-heavy media processing.
• Moderate to high concurrency (tens of concurrent sessions).
• Production deployments that must remain responsive under load.
Recommended baseline
• LiveKit recommends starting around 4 CPU cores and 8 GB RAM for most voice AI applications; that configuration can handle roughly 10–25 concurrent jobs depending on components used. Real-world tests reached near 4 cores and ~2.8 GB RAM while handling ~30 concurrent voice-to-voice sessions.
Operational note
• When you restart or scale down agent servers they stop accepting new jobs on SIGINT/SIGTERM; allow a graceful shutdown period (for voice agents, consider 10+ minutes) so in‑flight sessions can finish.
To give a tailored recommendation, could you tell me:
1. What type of agent workload is this? (e.g., simple transcription, voice‑to‑voice with TTS/STT, or LLM-driven dialog)
2. Expected concurrent sessions or jobs at peak?
3. Are you running any extra processing (noise suppression, real‑time VAD, turn detection, custom models)?
4. Is this for development/testing or production?
With those details I’ll suggest whether to stick with 2/4, upgrade, or optimize the agent configuration.
Sources:
Self-hosted deployments | LiveKit Documentation