当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Node.js process.memoryUsage()用法及代码示例

process.memoryUsage()

历史
版本变化
v13.9.0、v12.17.0

在返回的对象中添加了arrayBuffers

v7.2.0

在返回的对象中添加了external

v0.1.16

添加于:v0.1.16

返回一个对象,说明 Node.js 进程的内存使用情况,以字节为单位。

import { memoryUsage } from 'node:process';

console.log(memoryUsage());
// Prints:
// {
//  rss: 4935680,
//  heapTotal: 1826816,
//  heapUsed: 650472,
//  external: 49879,
//  arrayBuffers: 9386
// }const { memoryUsage } = require('node:process');

console.log(memoryUsage());
// Prints:
// {
//  rss: 4935680,
//  heapTotal: 1826816,
//  heapUsed: 650472,
//  external: 49879,
//  arrayBuffers: 9386
// }
  • heapTotalheapUsed 指的是 V8 的内存使用情况。
  • external 是指绑定到 V8 管理的 JavaScript 对象的 C++ 对象的内存使用情况。
  • rss,驻留集大小,是进程在主内存设备(即总分配内存的子集)中占用的空间量,包括所有 C++ 和 JavaScript 对象和代码。
  • arrayBuffers 是指为 ArrayBufferSharedArrayBuffer 分配的内存,包括所有 Node.js Buffer 。这也包含在external 值中。当 Node.js 用作嵌入式库时,此值可能是 0,因为在这种情况下可能不会跟踪 ArrayBuffer 的分配。

当使用 Worker 线程时,rss 将是一个对整个进程有效的值,而其他字段将仅引用当前线程。

process.memoryUsage() 方法遍历每个页面以收集有关内存使用情况的信息,根据程序内存分配,这些信息可能会很慢。

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 process.memoryUsage()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。