- Node.js教程
- Node.js - 教程
- Node.js - 简介
- Node.js - 环境设置
- Node.js - 首次申请
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调概念
- Node.js - 上传文件
- Node.js - 发送电子邮件
- Node.js - 活动
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 流程
- Node.js - 扩展应用程序
- Node.js - 包装
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲器
- Node.js - Streams
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL创建数据库
- Node.js - MySQL创建表
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where 子句
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - utility 模块
- Node.js - Web 模块
NodeJS - v8.getHeapStatistics() 方法
NodeJS v8.getHeapStatistics() 方法用于检索从 v8 版本派生的堆的统计信息。此方法返回有关堆的统计信息,例如总堆大小、已用堆大小、堆大小限制、总可用大小等。
getHeapSpaceStatistics() 根据系统中的空间返回统计信息,而 getHeapStatistics() 方法检索整个系统的统计信息。
语法
以下是NodeJS v8.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 - 这些是垃圾回收器已分离但尚未收集的上下文数。如果此数字不为零,则表示可能存在内存泄漏。
在以下示例中,我们尝试使用 NodeJS getHeapStatistics() 方法获取从 v8 派生的堆的所有统计信息。
const v8 = require('v8');
console.log(v8.getHeapStatistics());
输出
{
total_heap_size: 5369856,
total_heap_size_executable: 524288,
total_physical_size: 4298984,
total_available_size: 17226372488,
used_heap_size: 2855168,
heap_size_limit: 17230200832,
malloced_memory: 8192,
peak_malloced_memory: 418904,
does_zap_garbage: 0,
number_of_native_contexts: 1,
number_of_detached_contexts: 0
}
total_heap_size: 5369856,
total_heap_size_executable: 524288,
total_physical_size: 4298984,
total_available_size: 17226372488,
used_heap_size: 2855168,
heap_size_limit: 17230200832,
malloced_memory: 8192,
peak_malloced_memory: 418904,
does_zap_garbage: 0,
number_of_native_contexts: 1,
number_of_detached_contexts: 0
}
例
在下面的示例中,我们尝试获取 v8 堆的统计信息,例如总堆大小、已用堆大小和堆大小限制。
const v8 = require('v8');
let statistics = v8.getHeapStatistics();
console.log("total_heap_size: " + statistics['total_heap_size']);
console.log("used_heap_size: " + statistics['used_heap_size']);
console.log("heap_size_limit: " + statistics['heap_size_limit']);
输出
total_heap_size: 6086656
used_heap_size: 3769624
heap_size_limit: 17213423616
does_zap_garbage: 0
used_heap_size: 3769624
heap_size_limit: 17213423616
does_zap_garbage: 0