v8.setFlagsFromString(flags): void
Attributes
flags:
stringThe v8.setFlagsFromString() method can be used to programmatically set
V8 command-line flags. This method should be used with care. Changing settings
after the VM has started may result in unpredictable behavior, including
crashes and data loss; or it may simply do nothing.
The V8 options available for a version of Node.js may be determined by running
node --v8-options.
Usage:
import { setFlagsFromString } from 'node:v8'; import { setInterval } from 'node:timers'; // setFlagsFromString to trace garbage collection events setFlagsFromString('--trace-gc'); // Trigger GC events by using some memory let arrays = []; const interval = setInterval(() => { for (let i = 0; i < 500; i++) { arrays.push(new Array(10000).fill(Math.random())); } if (arrays.length > 5000) { arrays = arrays.slice(-1000); } console.log(`\n* Created ${arrays.length} arrays\n`); }, 100); // setFlagsFromString to stop tracing GC events after 1.5 seconds setTimeout(() => { setFlagsFromString('--notrace-gc'); console.log('\nStopped tracing!\n'); }, 1500); // Stop triggering GC events altogether after 2.5 seconds setTimeout(() => { clearInterval(interval); }, 2500);
const { setFlagsFromString } = require('node:v8'); const { setInterval } = require('node:timers'); // setFlagsFromString to trace garbage collection events setFlagsFromString('--trace-gc'); // Trigger GC events by using some memory let arrays = []; const interval = setInterval(() => { for (let i = 0; i < 500; i++) { arrays.push(new Array(10000).fill(Math.random())); } if (arrays.length > 5000) { arrays = arrays.slice(-1000); } console.log(`\n* Created ${arrays.length} arrays\n`); }, 100); // setFlagsFromString to stop tracing GC events after 1.5 seconds setTimeout(() => { console.log('\nStopped tracing!\n'); setFlagsFromString('--notrace-gc'); }, 1500); // Stop triggering GC events altogether after 2.5 seconds setTimeout(() => { clearInterval(interval); }, 2500);