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.
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.
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.
- 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.