Process completed with exit code 137 CI/CD Origin: Build & delivery Last updated 25 Oct 2026

GitHub Actions: Error: Process completed with exit code 137 (Killed — out of memory)

The command was killed by the system with SIGKILL (128 + 9), almost always because the runner ran out of memory.

Exact message you may see Process completed with exit code 137exit code 137 Killed##[error]Process completed with exit code 137Killed signal 9 GitHub ActionsThe process was killed (exit code 137)

Meaning

Hosted runners have limited RAM (7 GB on standard Linux). Builds, bundlers (webpack, Gradle), test suites and Docker builds can exceed it. The log often ends with "Killed". Reduce parallelism, raise memory limits for the tool, use a larger runner, or split the work.

Common causes

  • Out of memory during build or tests (webpack, tsc, Gradle, Maven)
  • Too many parallel workers/jobs
  • Memory leak in a long-running test run
  • Docker build using huge layers or parallel stages
  • Process killed by a timeout script (kill -9)

⚡ Quick fix

  1. Lower parallelism (--maxWorkers=2, --jobs 2)
  2. Set the tool's memory limit (NODE_OPTIONS=--max-old-space-size=4096)
  3. Use a larger runner or split the job

Detailed fix by platform

GitHub Actions

  1. env: NODE_OPTIONS: --max-old-space-size=4096 and run: npm test -- --maxWorkers=2
  2. Add a swap step on Linux runners if needed

Linux

  1. free -m and dmesg | tail at the end of the job show memory pressure

Code examples

Reduce memory pressure

yaml
- name: Build
  env:
    NODE_OPTIONS: --max-old-space-size=4096
  run: npx tsc --noEmit && npx webpack --mode production
- name: Show memory
  if: always()
  run: free -m

How to diagnose

  1. Tool — Which step was killed?
  2. Memory — free -m usage?
  3. Parallelism — Workers/jobs running at once?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Build & delivery. Errors that are often confused with or caused by this one (click to open):

API rate limit exceeded — GitHub Actions: HttpError: API rate limit exceeded for installation ID 123456 / secondary rate limit (CI/CD)API rate limit exceed…Container exceeded memory limit — Bitbucket Pipelines: Container 'Build' exceeded memory limit / Docker container exited with code 137 (CI/CD)Container exceeded me…heap out of memory — FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory (Node.js)heap out of memoryNo space left on device (runner) — GitHub Actions: System.IO.IOException: No space left on device — the runner's disk is full (CI/CD)No space left on devi…OOMKilled — Kubernetes: OOMKilled (exit code 137) (Kubernetes)OOMKilledProcess completed with exit code 1 — GitHub Actions: Error: Process completed with exit code 1. (CI/CD)Process completed wit…Process completed with exit code 127 — GitHub Actions: Error: Process completed with exit code 127 — command not found (CI/CD)Process completed wit…The runner has received a shutdown signal — GitHub Actions: The runner has received a shutdown signal. This can happen when the runner service is stopped, or a manually started runner is canceled (CI/CD)The runner has receiv…Process c…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.