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() 演示示例 // 导入 v8 模块 const v8 = require('v8'); // 调用 v8.getHeapStatistics() 方法 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 }