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** − 应用程序可用的最大内存限制。
**does_zap_garbage** − 这是一个布尔值 0/1,它告诉系统是否启用了 --zap_code_space 选项。
**number_of_native_contexts** − 这是当前活动的顶级上下文数。此数字的增加表明可能存在内存泄漏。
**number_of_detached_contexts** − 这些是已分离但尚未被垃圾收集器收集的上下文数。如果此数字不为零,则表示潜在的内存泄漏。
示例
创建一个名为 **"heapStats.js"** 的文件并复制以下代码片段。创建文件后,使用命令“node heapStats.js”运行此代码。
// v8.getHeapStatistics() Demo Example // Importing the v8 module const v8 = require('v8'); // Calling v8.getHeapStatistics() method console.log(v8.getHeapStatistics());
输出
C:\home
ode>> 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 }