- 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.getHeapSpaceStatistics() 方法
NodeJS v8.getHeapSpaceStatistics() 方法返回 v8 堆空间的统计信息。此方法将统计信息返回为对象数组,例如新空间、旧空间、代码空间、地图空间和大型对象空间。每个对象都包含有关空间名称、空间大小、已用空间大小、可用空间大小和物理空间大小的数据。
语法
以下是NodeJS v8.getHeapSpaceStatistics()方法的语法 -
v8.getHeapSpaceStatistics()
参数
此方法不接受任何参数。
返回值
此方法返回一个对象数组,其中包含 v8 堆空间的统计信息。
以下是返回的对象数组中存在的属性 -
- space_name - 这是一个字符串,用于指定堆空间的名称。
- space_size - 这是一个指定堆空间大小的数字
- space_used_size - 这是一个数字,用于指定已用堆空间大小。
- space_available_size - 指定可用堆空间大小的数字。
- physical_space_size - 指定物理堆空间大小的数字。
在以下示例中,我们尝试使用 NodeJS v8.getHeapSpaceStatistics() 方法获取 v8 堆空间的统计信息。
const v8 = require('v8');
console.log(v8.getHeapSpaceStatistics());
输出
执行上述程序后,NodeJS getHeapSpaceStatistics() 方法返回了一个对象数组,其中包含大约 v8 堆空间的属性。
Statistics of v8 heap space:
[
{
space_name: 'new_space',
space_size: 2097152,
space_used_size: 653080,
space_available_size: 378088,
physical_space_size: 2059736
},
{
space_name: 'old_space',
space_size: 2396160,
space_used_size: 2295248,
space_available_size: 168,
physical_space_size: 2338768
},
{
space_name: 'code_space',
space_size: 1048576,
space_used_size: 572736,
space_available_size: 0,
physical_space_size: 605504
},
{
space_name: 'map_space',
space_size: 544768,
space_used_size: 288160,
space_available_size: 0,
physical_space_size: 305568
},
{
space_name: 'large_object_space',
space_size: 0,
space_used_size: 0,
space_available_size: 17206803968,
physical_space_size: 0
}
]
[
{
space_name: 'new_space',
space_size: 2097152,
space_used_size: 653080,
space_available_size: 378088,
physical_space_size: 2059736
},
{
space_name: 'old_space',
space_size: 2396160,
space_used_size: 2295248,
space_available_size: 168,
physical_space_size: 2338768
},
{
space_name: 'code_space',
space_size: 1048576,
space_used_size: 572736,
space_available_size: 0,
physical_space_size: 605504
},
{
space_name: 'map_space',
space_size: 544768,
space_used_size: 288160,
space_available_size: 0,
physical_space_size: 305568
},
{
space_name: 'large_object_space',
space_size: 0,
space_used_size: 0,
space_available_size: 17206803968,
physical_space_size: 0
}
]
例
在以下示例中,我们尝试以表格形式打印有关堆空间的统计信息。
const v8 = require('v8');
let statistics = v8.getHeapSpaceStatistics();
var EmpArr = []
for (var i = 0; i < statistics.length; i++){
var element = statistics[i];
EmpArr.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'] },);
}
console.table(EmpArr)
输出
┌─────────┬───────────────────────────┬────────────┬─────────────────┬─────────────────┬─────────────────────┐
│ (index) │ Space Name │ Space Size │ Used Space Size │ Space Available │ Physical Space Size │
├─────────┼───────────────────────────┼────────────┼─────────────────┼─────────────────┼─────────────────────┤
│ 0 │ 'read_only_space' │ 262144 │ 32808 │ 0 │ 33088 │
│ 1 │ 'new_space' │ 2097152 │ 649048 │ 398408 │ 2088064 │
│ 2 │ 'old_space' │ 1916928 │ 1582912 │ 88736 │ 1585152 │
│ 3 │ 'code_space' │ 430080 │ 155616 │ 0 │ 172000 │
│ 4 │ 'map_space' │ 528384 │ 308800 │ 0 │ 309640 │
│ 5 │ 'large_object_space' │ 135168 │ 131112 │ 0 │ 135168 │
│ 6 │ 'code_large_object_space' │ 0 │ 0 │ 0 │ 0 │
│ 7 │ 'new_large_object_space' │ 0 │ 0 │ 1047456 │ 0 │
└─────────┴───────────────────────────┴────────────┴─────────────────┴─────────────────┴──────────────────────
│ (index) │ Space Name │ Space Size │ Used Space Size │ Space Available │ Physical Space Size │
├─────────┼───────────────────────────┼────────────┼─────────────────┼─────────────────┼─────────────────────┤
│ 0 │ 'read_only_space' │ 262144 │ 32808 │ 0 │ 33088 │
│ 1 │ 'new_space' │ 2097152 │ 649048 │ 398408 │ 2088064 │
│ 2 │ 'old_space' │ 1916928 │ 1582912 │ 88736 │ 1585152 │
│ 3 │ 'code_space' │ 430080 │ 155616 │ 0 │ 172000 │
│ 4 │ 'map_space' │ 528384 │ 308800 │ 0 │ 309640 │
│ 5 │ 'large_object_space' │ 135168 │ 131112 │ 0 │ 135168 │
│ 6 │ 'code_large_object_space' │ 0 │ 0 │ 0 │ 0 │
│ 7 │ 'new_large_object_space' │ 0 │ 0 │ 1047456 │ 0 │
└─────────┴───────────────────────────┴────────────┴─────────────────┴─────────────────┴──────────────────────
注意 - 为了更好地理解,让我们在本地执行上述代码。
执行上述代码后,getHeapSpaceStatistics() 方法返回一个由新空间、旧空间、代码空间、地图空间和大对象空间等 5 个对象组成的数组。