代码实现
const process = require('process');
const memoryUsage = process.memoryUsage();
console.log(`堆内存使用量(rss): ${memoryUsage.rss} 字节`);
console.log(`堆内存使用量(heapTotal): ${memoryUsage.heapTotal} 字节`);
console.log(`堆内存使用量(heapUsed): ${memoryUsage.heapUsed} 字节`);
console.log(`非堆内存使用量(external): ${memoryUsage.external} 字节`);
内存概念解释
- 堆内存(Heap Memory):
- heapTotal:Node.js进程已申请的堆内存总量。
- heapUsed:当前Node.js进程实际使用的堆内存量。这部分内存用于存储对象和闭包等。JavaScript中的对象、数组等数据结构存储在堆内存中。当对象不再被引用时,垃圾回收机制会回收这部分堆内存空间。
- 非堆内存(Non - heap Memory):
- external:这部分内存主要用于V8引擎外部数据的存储,比如绑定到JavaScript对象的C++对象所占用的内存。它不属于V8堆内存的一部分。
- rss(Resident Set Size): 进程在物理内存中占用的总空间大小,包括堆内存、非堆内存以及操作系统为进程分配的其他资源所占用的内存。它反映了进程实际占用的物理内存大小。