cuddly-vr-85751
03/14/2026, 5:12 AMtall-airline-16756
03/14/2026, 5:12 AMtall-airline-16756
03/14/2026, 5:13 AMcuddly-vr-85751
03/14/2026, 5:30 AMtall-airline-16756
03/14/2026, 5:30 AMnum_idle_processes. In short: this setting controls how many idle agent processes the server keeps “warm” and ready to handle new jobs without having to start a fresh process each time.
What it does
• Keeps a pool of pre-spawned processes that have models/resources loaded (e.g., VAD or STT), so new jobs start faster.
• Reduces the latency caused by process startup and model loading.
Defaults in the snippet you shared
• Dev default: 0 — no prewarmed processes in development.
• Prod default: min(math.ceil(get_cpu_monitor().cpu_count()), 4) — use up to the number of CPU cores, capped at 4, in production.
When to increase or decrease it
• Increase if your jobs require heavy model loading and you need fast job start times.
• Decrease (or keep 0) if you want to conserve memory/CPU and can tolerate longer startup time per job.
One more clarification
• The quoted line you showed ("Number of seconds to wait for current jobs to finish upon receiving TERM or INT signal.") refers to a different setting (drain_timeout), not num_idle_processes. num_idle_processes does not control shutdown wait time — it controls how many idle processes are prewarmed.
Would you like help choosing a value for your environment (tell me your typical job load, model size, and memory per process), or do you want the exact config name for the shutdown timeout so I can explain that one too?
Sources: Server options | LiveKit Documentation | Silero VAD plugin | LiveKit Documentation