Thanks — I’m responding to your question about how many concurrent calls a LiveKit voice agent can run on a machine with 4 CPU cores and 10 GB RAM while the agent is doing various functions.
Short answer
• A safe estimate is
about 10–25 concurrent calls on a 4‑core machine running typical agent workloads. This matches LiveKit’s baseline guidance for 4 CPU / 8 GB systems; your extra RAM (10 GB) may help a bit, but CPU will usually be the limiting factor.
Why that range
• LiveKit’s baseline for a 4‑core, 8 GB machine is 10–25 concurrent jobs.
• In a load test that simulated 30 agents on a 4‑core, 8 GB host, peak CPU reached ~3.8 cores and memory ~2.8 GB — showing that 30 was possible in that specific scenario but results vary with agent complexity.
• CPU is typically the bottleneck; LiveKit treats ~70% CPU utilization as the default load threshold where new jobs start being rejected.
Factors that will change the number for your case
• Agent features in use:
◦ Enhanced noise cancellation and turn detection increase CPU and memory usage.
◦ STT/TTS or LLM inference workloads (especially if run on CPU) will significantly reduce concurrent capacity.
◦ Any GPU offload for heavy inference changes the equation—CPU/RAM alone won’t reflect limits if GPU is used.
• Per-call audio complexity (sample rate, bitrate), number of active participants per call, and network overhead.
• Any other processes running on the same host.
Recommendations to get an accurate answer
1. Start with the 10–25 estimate for planning.
2. Run a small load test with your actual agent configuration (features enabled, expected audio settings). Measure CPU, memory, and latency.
3. If you need to support more concurrent calls:
◦ Autoscale agent servers based on CPU or custom metrics.
◦ Consider using LiveKit Cloud for elastic scaling if you need large, dynamic capacity.
If you’d like, tell me:
• Which agent features you’re using (noise cancellation, turn detection, STT/TTS/LLM inference).
• Expected per-call audio settings (sample rate, bitrate) and whether inference runs on CPU or GPU.
With that I can give a tighter concurrency estimate and recommend a load test configuration to validate it.
Sources:
Self-hosted deployments | LiveKit Documentation |
Pricing | LiveKit