Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk4 min

Node Container OOMKilled with Low Heap? What Exit Code 137 Really Means

Node’s heap metrics cover only part of memory. Verify the termination reason, then correlate V8, process RSS, and cgroup usage before diagnosing an OOM kill.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A Node.js container can be OOM-killed while V8 reports modest heap use because the JavaScript heap is only one part of memory charged to the process and container. But exit code 137 alone does not prove an out-of-memory event: first verify the termination reason, then compare V8, process, and container memory trends at matching times.

Does exit code 137 prove the container ran out of memory?

No. Exit status 137 is associated with SIGKILL, but that signal can have causes other than an out-of-memory kill. Docker lists manual termination and daemon restart among possible explanations. Check the platform’s recorded termination reason, events, and logs rather than inferring OOM from the exit code alone. Docker documents exit-code behavior.

As an Amazon Associate I earn from qualifying purchases.

In Kubernetes, the last terminated container state can report a reason such as OOMKilled. Kubernetes explains that this reason means the container tried to use more memory than its limit. That is stronger evidence of a memory-limit event than 137 by itself. Review the Pod’s status and events as well as the container logs; logs may not contain the final evidence if the process was abruptly killed. Kubernetes: Resource Management for Pods and Containers.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why can container memory be high when Node’s heap looks fine?

The measurements cover different memory scopes. Node’s heapUsed and heapTotal describe V8’s JavaScript heap. The process’s resident set size, or RSS, includes resident memory beyond that heap, including C++ objects and code. Node also reports external, native memory associated with JavaScript objects managed by V8. arrayBuffers reports memory for ArrayBuffer and SharedArrayBuffer instances, including Node.js Buffer allocations, and is included in external. Node.js: process.memoryUsage().

#1 Best Overall
Tecmojo 12U Open Frame Network Rack for IT & AV Gear, AV Rack Floor Standing or Wall Mounted,with 2 PCS 1U Rack Shelves & Mounting Hardware,Network Rack for 19" Networking,Audio and Video Device
  • 【Powerful Load-bearing】12U Network Rack Open Frame is constructed from durable cold rolled steel; Rack shelf supports enhance stability, wall-mounted capacity of 130lbs, the ground-mounted up to 260lbs
  • 【Considerate Designs】Open-frame layout, including a top panel adding space, anti-slip shelf stops fixing devices and compatible racks for stack and expansion to meet requirements of home server rack
  • 【Complete Accessories】A 12U open frame server rack, two ventilated shelves, four shelf stops, four velcro straps and a set of equipment mounting screws
  • 【Versatile Application】Ideal for space-efficient multi-device setups in warehouses, retail, classrooms, offices and more; Excellent choices as AV Rack/IT Rack
  • 【Effortless Setup】 Network Rack includes hardware, a comprehensive manual, mounting hole drilling template and an online assembly video to simplify setup

A container limit is a separate boundary. On Linux, Kubernetes uses cgroups to enforce container memory limits; under memory pressure, the kernel can terminate processes. The V8 heap ceiling therefore does not cap all memory charged to the process or container. Kubernetes: Resource Management for Pods and Containers.

What each Node and V8 memory metric means

Metric What it describes What it does not establish
heapUsed Memory currently used by JavaScript objects in the V8 heap. Total process or container memory.
heapTotal Memory allocated for the V8 heap. The process’s full memory footprint.
external Native memory associated with JavaScript objects managed by V8. All native memory used by the process.
arrayBuffers Memory for ArrayBuffer and SharedArrayBuffer instances, including Node.js Buffer allocations; included in external. A separate amount to add to external.
rss Resident memory for the process, including JavaScript and C++ objects and code. Container memory usage by itself, especially when other processes share the container.
V8 heap_size_limit The V8 heap ceiling, affected by defaults or options such as --max_old_space_size. A process-wide or container-wide memory limit. V8 heap statistics.
Container/cgroup memory Memory charged to the container under its configured limit and runtime’s accounting. A value that can be inferred from V8 heap metrics alone. Kubernetes resource management.

How to investigate an OOM kill without guessing

  1. Confirm the termination cause. Inspect the orchestrator or runtime’s last terminated state, recorded reason, events, and logs. Treat 137 as a SIGKILL clue, not a verdict; distinguish OOMKilled from other stop mechanisms.
  2. Establish the actual container limit. Check the deployed workload configuration and effective runtime settings. If OOM is confirmed, compare container or cgroup usage against that limit over time, using the telemetry your platform exposes.
  3. Collect Node metrics at the same timestamps. Record process.memoryUsage() values for rss, heapTotal, heapUsed, external, and arrayBuffers, along with the V8 heap limit. For example, a diagnostic log can capture the API fields with console.log(process.memoryUsage()); add timestamps and correlate the output with container metrics.
  4. Check host cgroup evidence when available. On cgroup v2 systems, Linux exposes memory-controller documentation for interpreting memory events, including oom_kill. Counter names, locations, and availability vary by cgroup version and container runtime, so use the host’s actual cgroup layout rather than assuming a universal path. Linux kernel: Control Group v2.
  5. Keep the environment with the evidence. Record the Node.js and runtime versions, orchestrator, container runtime, configured limit, and cgroup version. Those details affect which counters and paths exist and how usage is accounted for.

How to read the trends

Compare trends over time, not a lone snapshot. A high RSS reading or low heap reading at one moment cannot explain what the container was charged for immediately before termination.

Rank #2
Sale
StarTech 42U 4-Post Open Frame Rack, 19in, 22-40in, 1323lb/600kg
  • ADJUSTABLE DEPTH: 4-Post 42U open frame server rack with 4 vertical rails and adjustable mounting depth 22" to 40" (56,0cm to 101,7cm); Compatible with various servers / switches / data / AV and other IT equipment; EIA/ECA-310-E Compliant
  • EASY ASSEMBLY: Mobile network rack with easy-to-follow assembly instructions and online video; Compact flat-pack shipping to avoid damage and facilitate installation; Total product height of 80.3in (204 cm) with casters, 78in (198cm) without casters
  • COLD ROLLED STEEL: Durable 4 Post 19in open frame rack designed for ventilation with 42U mounting height and 1320lb (600kg) weight capacity (stationary); 3 install options included: casters, levelling feet, or base-plate to secure rack to the floor
  • HARDWARE INCLUDED: Rolling computer/data rack includes cage nuts and screws to mount equipment, easy to read Units (U) and depth adjustment markings, cable management hooks for organization, and required assembly tools
  • THE IT PRO'S CHOICE: Designed and built for IT Professionals, this 42U rack is backed for 2-years, including free lifetime 24/5 multi-lingual technical assistance
  • heapUsed keeps rising: investigate whether JavaScript objects are being retained. This is a reason to examine the heap, not proof of a leak by itself.
  • external or arrayBuffers keeps rising: inspect native allocations and buffer or array-buffer use. Remember that arrayBuffers is already included in external.
  • RSS rises while heap metrics stay relatively steady: memory outside the live V8 heap may be involved. On Linux/glibc, allocator fragmentation can also contribute to rising RSS; this pattern alone does not confirm a JavaScript heap leak. Node.js documents this RSS behavior.
  • Container usage rises without matching growth in one Node process: check the other memory charged within the container and the platform’s accounting scope. Container memory and per-process Node metrics are not interchangeable.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Should you raise --max-old-space-size?

Not as a default response to 137 or an OOM kill. That option affects V8’s heap ceiling, not the container’s memory limit or every source of process memory. Raising it may let V8 use more memory while leaving less room under the container limit for external allocations, native memory, code, and other processes. Choose a heap setting only after comparing the workload’s measured memory trends with the effective container limit and the runtime’s behavior. There is no universally safe heap-to-container ratio established by the evidence here. Node.js CLI: --max-old-space-size.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
VEVOR 12U Open Frame Server Rack, 23-40 in Adjustable Depth, Free Standing or Wall Mount Network Server Rack, 4 Post AV Rack with Casters, Holds All Your Networking IT Equipment AV Gear Router Modem
  • Adjustable Depth: 23-40'' adjustable depth is used for servers and network equipment, ensuring enough space for AV equipment, components, and cabling, while allowing you to access ports and equipment from multiple sides.
  • Strong Load Capacity: Ground-Mounted Load Capacity: 500 lbs, Wall-Mounted Load Capacity: 150 lbs. The av rack is made of carbon steel for better weldability performance and can help save space while meeting your need to place multiple devices.
  • User-friendly Design: Ergonomic design makes the open frame av rack easier to use. The additional top panel is able to place other items with more available space. Roller design moves anywhere and anytime, is convenient, and is more energy-saving.
  • Complete Accessories: We provide the accessories you need, including 2 x Pallets, 145 x M5*10 Cross Head Screws, 4 x Casters, 4 x M10*50 Expansion Screws,10 x M6*12 Cage Nuts, 1 x Grounding Wire, 1 x User Manual.
  • Wide Application: The server rack wall mount maximizes the use of available space, suitable for retail venues, classrooms, offices, and other places where space is limited.
Rank #3
Sale
TECMOJO 12U Open Frame Network Rack for IT & AV Gear, 4-Post With Casters, Mobile With 2 PCS 1U Server Shelf & Mounting Hardware, for 19" Network, Audio and Video Device
  • 【Powerful load-bearing】12U Network Rack Open Frame is constructed from durable Cold Rolled Steel; Rack Shelf Back Support enhances stability; load-bearing capacity of 260lbs
  • 【Sliding&Considerate】Open-frame layout, including four wheels easy to move, a top panel adding space, anti-slip shelf stops fixing devices and compatible racks for stack and expansion to meet requirements of home server rack
  • 【Complete Accessories】A 12U open frame server rack, two ventilated shelves, four shelf stops, four casters, four velcro straps and a set of equipment mounting screws
  • 【Versatile Application】Ideal for space-efficient multi-device setups in warehouses, retail, classrooms, offices and more; Excellent choices as AV Rack/IT Rack
  • 【Effortless Setup】Server rack with wheels includes hardware, a comprehensive manual, mounting hole drilling template and an online assembly video to simplify setup

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.