📅  最后修改于: 2020-12-24 06:08:42             🧑  作者: Mango
V8是由Chromium项目为Google Chrome浏览器开发的开源JavaScript引擎。它是用C++编写的。如今,它已用于许多项目中,例如Couchbase,MongoDB和Node.js。
Node.js V8模块代表特定于V8版本的接口和事件。它提供了通过v8.getHeapStatistics()和v8.getHeapSpaceStatistics()方法获取有关堆内存的信息的方法。
要使用此模块,您需要使用require('v8') 。
const v8 = require('v8');
v8.getHeapStatistics()方法返回有关堆的统计信息,例如总堆大小,已用堆大小,堆大小限制,总可用大小等。
文件:v8-example1.js
const v8 = require('v8');
console.log(v8.getHeapStatistics());
v8.getHeapSpaceStatistics()返回有关堆空间的统计信息。它返回一个由5个对象组成的数组:新空间,旧空间,代码空间,映射空间和大对象空间。每个对象都包含有关空间名称,空间大小,已用空间大小,可用空间大小和物理空间大小的信息。
文件:v8-example2.js
const v8 = require('v8');
console.log(v8.getHeapSpaceStatistics());
当前,默认情况下,v8在32位系统上的内存限制为512mb,在64位系统上的内存限制为1gb。您可以通过将–max-old-space-size的最大值设置为32位系统的〜1gb和64位系统的〜1.7gb来提高限制。但是,如果您遇到内存限制,建议将单个进程分成几个工作进程。