Skip to content
Latchkey

What Is Idle Runner Cost? Paying for Machines That Do Nothing

Idle runner cost is what you pay for runner capacity that is running but not doing useful work - provisioned, booting, waiting, or over-sized.

Idle cost is sneaky because the machine looks busy on the invoice even when it is not producing value. It shows up differently on hosted versus self-hosted runners, but either way it is money spent on capacity rather than results. Understanding where idle cost hides is key to a lean CI bill.

Idle on hosted runners

On per-minute hosted runners, idle cost appears as cold-start boot time and setup before useful work begins, plus oversized machines whose cores sit unused. You pay the per-minute rate during all of it even though the build is barely working.

Idle on self-hosted runners

Self-hosted runners that stay online waiting for jobs cost money the entire time, busy or not. A fleet sized for peak load sits mostly idle off-peak, and you pay the cloud-instance bill 24/7 regardless of utilization.

Warm pools versus cold idle

A naive warm pool keeps machines running to avoid cold starts, trading idle cost for speed. Done well, a managed warm pool keeps just enough capacity ready and recycles the rest, capturing the speed benefit without paying for a large idle fleet.

Over-provisioning as idle cost

Booking an 8-core runner for a job that needs two means six cores are effectively idle, billed at the larger-runner premium. Right-sizing turns that idle headroom back into savings.

Measuring idle

On self-hosted fleets, track utilization - busy minutes divided by provisioned minutes. Low utilization is direct idle cost. On hosted runners, watch cold-start time and runner-size fit as proxies for idle waste.

Eliminating idle cost

Managed runners shift the idle problem to the provider: Latchkey runs a self-managed warm pool sized to demand, so you get fast starts without paying for a fleet that sits idle - and the underlying rate is about 69% below GitHub-hosted.

Key takeaways

  • Idle runner cost is paying for capacity that is not doing useful work.
  • Hosted: cold-start and oversized cores. Self-hosted: always-on fleets.
  • Over-provisioning is idle cost billed at a premium rate.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →