📜  Node.js V8

📅  最后修改于: 2020-12-24 06:08:42             🧑  作者: Mango

Node.js V8

什么是V8

V8是由Chromium项目为Google Chrome浏览器开发的开源JavaScript引擎。它是用C++编写的。如今,它已用于许多项目中,例如Couchbase,MongoDB和Node.js。

Node.js中的V8

Node.js V8模块代表特定于V8版本的接口和事件。它提供了通过v8.getHeapStatistics()v8.getHeapSpaceStatistics()方法获取有关堆内存的信息的方法。

要使用此模块,您需要使用require('v8')

const v8 = require('v8');

Node.js v8.getHeapStatistics()示例

v8.getHeapStatistics()方法返回有关堆的统计信息,例如总堆大小,已用堆大小,堆大小限制,总可用大小等。

文件:v8-example1.js

const v8 = require('v8');
console.log(v8.getHeapStatistics());

Node.js v8.getHeapSpaceStatistics()示例

v8.getHeapSpaceStatistics()返回有关堆空间的统计信息。它返回一个由5个对象组成的数组:新空间,旧空间,代码空间,映射空间和大对象空间。每个对象都包含有关空间名称,空间大小,已用空间大小,可用空间大小和物理空间大小的信息。

文件:v8-example2.js

const v8 = require('v8');
console.log(v8.getHeapSpaceStatistics());

Node.js中V8的内存限制

当前,默认情况下,v8在32位系统上的内存限制为512mb,在64位系统上的内存限制为1gb。您可以通过将–max-old-space-size的最大值设置为32位系统的〜1gb和64位系统的〜1.7gb来提高限制。但是,如果您遇到内存限制,建议将单个进程分成几个工作进程。