CircleCI "Received 'killed' signal" out-of-memory in CI
A process in the job was terminated by the OOM killer. CircleCL prints "Received 'killed' signal" when the container exceeds the RAM of its resource_class, so the fix is more memory or less peak usage.
What this error means
A step dies abruptly with "Received 'killed' signal" or the job summary notes it "ran out of memory", often during a build, test, or large install.
CircleCI
Received 'killed' signal
Error: The operation was canceled.Common causes
The resource_class is too small
The default medium class gives limited RAM; a memory-hungry build or test suite exceeds it and is killed.
A single step with a large peak allocation
A bundler, compiler, or test runner allocates more than the container has at one moment, tripping the OOM killer.
How to fix it
Raise the resource_class
- Set a larger
resource_classon the job. - Re-run and watch peak memory in the job metrics.
- Step up only as far as needed to stay under the new limit.
.circleci/config.yml
jobs:
build:
resource_class: large
docker: [{image: cimg/node:20.11}]Cap the tool memory
Lower peak usage by bounding Node heap or test parallelism so the job fits its class.
.circleci/config.yml
- run:
command: node --max-old-space-size=3072 ./build.jsHow to prevent it
- Right-size
resource_classto real peak memory. - Bound heap and worker counts for memory-heavy tools.
- Split very large builds across jobs.
Related guides
CircleCI "Too long with no output (exceeded 10m0s)" timeoutFix CircleCI "Too long with no output (exceeded 10m0s): context deadline exceeded" - a step produced no stdou…
CircleCI "resource class is not available" on this plan in CIFix CircleCI "resource_class X is not available" - the requested class is not enabled for the org plan, execu…
CircleCI "Spin up environment ... failed" in CIFix CircleCI "Spin up environment" step failures - the executor image could not be pulled or the container fa…