On this page

    M

    v8.setFlagsFromString

    History
    v8.setFlagsFromString(flags): void
    Attributes
    flags:string

    The 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);