Skip to content
Latchkey

What Is Rightsizing a Runner? Matching Machine Size to the Job

Rightsizing a runner is choosing the smallest, cheapest machine that still runs a job efficiently - neither paying for idle cores nor paying in extra minutes for a machine that is too small.

Runner size is a cost lever in both directions. Too big and you pay a premium rate for cores that sit idle; too small and the job runs longer, burning more minutes. Rightsizing finds the sweet spot per job, and because pipelines run constantly, getting it right pays off every single run.

The cost of getting it wrong

An 8-core runner bills about 4x a 2-core. If a job is I/O-bound and never uses the cores, three-quarters of that premium is waste. But a 2-core runner that takes twice as long as a 4-core can cost more in minutes than the larger machine would.

How to find the right size

Profile the job: watch CPU and memory utilization across sizes. The right size is the smallest one where the job is not bottlenecked - where adding cores stops meaningfully reducing runtime. Below that, you waste minutes; above it, you waste rate.

CPU-bound versus I/O-bound

CPU-bound jobs (compilation, heavy test suites) benefit from more cores and can be cheaper on a larger runner that finishes fast. I/O-bound jobs (downloads, network calls) gain little from extra cores and should stay small.

Rightsizing per job, not per pipeline

Different jobs in one pipeline have different profiles. A lint job needs almost nothing; an integration suite may need real cores. Sizing each job independently beats picking one size for the whole pipeline.

Memory matters too

Rightsizing is not only cores. A job that OOMs and gets killed on a small runner wastes the whole run; one with far more memory than it uses overpays. Match memory to the job’s real peak, not a guess.

Rightsizing on managed runners

Managed platforms make rightsizing easy by offering a range of right-priced sizes and handling provisioning. Latchkey runs jobs on right-sized cloud instances at roughly 69% below GitHub-hosted, so the correctly sized runner is also cheaper per minute than the hosted equivalent.

Key takeaways

  • Rightsizing picks the smallest machine that runs a job efficiently.
  • Too big wastes rate on idle cores; too small wastes minutes on runtime.
  • CPU-bound jobs may be cheaper on larger runners; I/O-bound stay small.

Related guides

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