📜  Node.js v8.getHeapSpaceStatistics() 方法

📅  最后修改于: 2022-05-13 01:56:49.790000             🧑  作者: Mango

Node.js v8.getHeapSpaceStatistics() 方法

v8.getHeapSpaceStatistics() 方法是 v8 模块的内置应用程序编程接口,用于获取有关从 v8 版本派生的堆空间的统计信息。

句法:

v8.getHeapSpaceStatistics();

参数:此方法没有任何参数。

返回值:此方法返回一个对象,其中包含有关版本 8 堆空间的统计信息。返回的对象通常包含多个元素的数组,其中每个元素由以下字段组成:

  • space_name :一个字符串表示堆空间的名称。
  • space_size :一个数字表示堆空间大小。
  • space_used_size :一个数字表示已用堆空间大小。
  • space_available_size :一个数字,表示可用堆空间大小。
  • physical_space_size :一个数字,指定物理堆空间大小。

以下示例说明了在 Node.js 中使用 v8.getHeapSpaceStatistics() 方法。

示例 1:文件名:index.js

// Accessing v8 module
const v8 = require('v8');
  
// Calling v8.getHeapSpaceStatistics() 
console.log(v8.getHeapSpaceStatistics());

使用以下命令运行index.js文件:

node index.js

输出:

[ { space_name: 'read_only_space',
    space_size: 524288,
    space_used_size: 35208,
    space_available_size: 480376,
    physical_space_size: 524288 },
  { space_name: 'new_space',
    space_size: 2097152,
    space_used_size: 975376,
    space_available_size: 55792,
    physical_space_size: 2097152 },
  { space_name: 'old_space',
    space_size: 2330624,
    space_used_size: 2272448,
    space_available_size: 184,
    physical_space_size: 2330624 },
  { space_name: 'code_space',
    space_size: 1048576,
    space_used_size: 571968,
    space_available_size: 0,
    physical_space_size: 1048576 },
  { space_name: 'map_space',
    space_size: 536576,
    space_used_size: 344784,
    space_available_size: 0,
    physical_space_size: 536576 },
  { space_name: 'large_object_space',
    space_size: 0,
    space_used_size: 0,
    space_available_size: 1520180736,
    physical_space_size: 0 } ]

示例 2:文件名:index.js

// Accessing v8 module
const v8 = require('v8');
   
// Calling v8.getHeapSpaceStatistics() 
stats = v8.getHeapSpaceStatistics();
   
var myList = []
for (var i = 0; i < stats.length; i++){    
  var element = stats[i];
  
  myList.push({ "Space Name": element['space_name'], 
  "Space Size": element['space_size'], 
  "Used Space Size": element['space_used_size'], 
  "Space Available": element['space_available_size'], 
  "Physical Space Size":element['physical_space_size'] },  
  );
}
  
// Printing in tabular form
console.table(myList)

使用以下命令运行index.js文件:

node index.js

输出:

参考: https://nodejs.org/api/v8.html#v8_v8_getheapspacestatistics