當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。