V8的内存分代方法
如大家所了解的,在V8中,主要将内存分为新生代和老生代两代。新生代中的对象为存活时间较短的对象,老生代的对象为存活时间较长或常驻内存的对象。V8 的分代示意图:
V8 堆的整体大小就是新生代所用内存空间加上老生代的内存空间。
可以使用命令行参数进行设置:
- --max-old-space-size 命令行参数用于设置老生代内存空间的最大值。
- --max-new-space-size 命令行参数用于设置新生代内存空间的最大值。、
比较遗憾的是,这两个最大值需要在启动时就指定,这意味着,V8 使用的内存没有办法根据使用情况自动扩充,当内存分配过程中超过极限值时,就会引起进程出错。