Node.js – v8.getHeapStatistics() 方法

V8。getHeapStatistics()方法返回有关堆的统计信息。该getHeapStatistics()方法是v8模块的一部分,它返回有关v8的堆和大小的详细信息。在getHeapSpaceStatistics()给出了基于系统中的空间统计数据,而getHeapStatistics()方法提供对整个系统的统计信息。

语法

v8.getHeapStatistics()

参数

由于它返回有关 V8 的空间详细信息/统计信息,因此不需要任何特殊的输入参数。但是,返回的值包含以下属性 -

  • total_heap_size - 此字段将返回总堆空间大小。

  • total_heap_size_executable - 此字段将返回可用于执行的总堆大小。

  • total_physical_size - 此字段将返回磁盘上可用的总物理大小。

  • total_available_size - 这是系统可用的总大小。

  • used_heap_size -- 这是使用的堆大小。

  • heap_size_limit - 用户/应用程序的堆大小限制。

  • malloced_memory - 分配给应用程序的内存。

  • peak_malloced_memory - 可用于应用程序的内存的最大限制。

  • dos_zap_garbage - 这是一个布尔值 0/1,它告诉系统是否启用了 -- zap_code_space 选项。

  • number_of_native_contexts - 这是当前活动的顶级上下文的数量。这个数字的增加表明可能存在内存泄漏。

  • number_of_detached_contexts - 这些是已分离但尚未被垃圾收集器收集的上下文的数量。如果此数字不为零,则表示存在潜在的内存泄漏。

示例

创建一个文件“heapStats.js”并复制以下代码片段。创建文件后,使用命令“node heapStats.js”运行此代码。

// v8.getHeapStatistics() 演示示例

// 导入 v8 模块
const v8 = require('v8');

// 调用 v8.getHeapStatistics() 方法
console.log(v8.getHeapStatistics());
输出结果
C:\home\node>> node heapStats.js
{
   total_heap_size: 4468736,
   total_heap_size_executable: 524288,
   total_physical_size: 4468736,
   total_available_size: 2194547400,
   used_heap_size: 2853432,
   heap_size_limit: 2197815296,
   malloced_memory: 8192,
   peak_malloced_memory: 123168,
   does_zap_garbage: 0,
   number_of_native_contexts: 1,
   number_of_detached_contexts: 0
}