This patch adds a --heapsnapshot-near-heap-limit CLI option that takes heap snapshots when the V8 heap is approaching the heap size limit. It will try to write the snapshots to disk before the program crashes due to OOM. PR-URL: https://github.com/nodejs/node/pull/33010 Refs: https://github.com/nodejs/node/issues/27552 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
22 lines
578 B
JavaScript
22 lines
578 B
JavaScript
'use strict';
|
|
|
|
const total = parseInt(process.env.TEST_ALLOCATION) || 5000;
|
|
const chunk = parseInt(process.env.TEST_CHUNK) || 1000;
|
|
const cleanInterval = parseInt(process.env.TEST_CLEAN_INTERVAL) || 100;
|
|
let count = 0;
|
|
let arr = [];
|
|
function runAllocation() {
|
|
count++;
|
|
if (count < total) {
|
|
if (count % cleanInterval === 0) {
|
|
arr.splice(0, arr.length);
|
|
setImmediate(runAllocation);
|
|
} else {
|
|
const str = JSON.stringify(process.config).slice(0, chunk);
|
|
arr.push(str);
|
|
setImmediate(runAllocation);
|
|
}
|
|
}
|
|
}
|
|
|
|
setImmediate(runAllocation);
|