站长资讯网
最全最丰富的资讯网站

探索一下Node中的堆内存分配,聊聊内存限制!

本篇文章带大家探索一下Node中的堆内存分配,深入了解一下Node.js中的内存限制,希望对大家有所帮助!

探索一下Node中的堆内存分配,聊聊内存限制!

在本篇文章中,我将探索一下Node中的堆内存分配,然后试试看把内存提高到硬件能承受的极限。然后我们将找到一些实用的方法来监控 Node 的进程以调试内存相关问题。

OK,准备完成就发车!

大家可以在仓库拉一下相关代码 clone the code from my GitHub:

https://github.com/beautifulcoder/node-memory-limitations

V8 垃圾回收简介

首先,简单介绍一下V8垃圾回收器。内存的存储分配方式是堆(heap),堆被分为几个世代(generational)区域。 对象在它的生命周期中随着年龄的变化,它所属的世代也有所不同。

世代中分为年轻一代和老一代,而年轻的一代还分为了新生代和中间代。随着对象在垃圾回收中幸存下来,它们也会加入老一代。

探索一下Node中的堆内存分配,聊聊内存限制!

世代假说的基本原则是大多数对象都是年轻的。V8 垃圾回收器基于这一点,只提升在垃圾回收中幸存下来的对象。随着对象被复制到相邻区域,它们最终会进入老一代。

在Nodejs中内存消耗主要分为三个方面:

  • 代码-代码执行时所在的位置
  • 调用栈-用于存放具有原始类型(数字,字符串或布尔值)的函数和局部变量
  • 堆内存

堆内存是我们今天的主要关注点。 现在您对垃圾回收器有了

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号