提高Chrome JS堆限制?

时间:2017-04-26 19:54:13

标签: javascript google-chrome

我有一个使用太多内存的JavaScript应用程序。它不会崩溃选项卡,但加载可能需要几分钟,其中大部分都用在GC中。我正在使用堆分析器来查看分配最多内存的函数,这非常有效。

有没有办法让Chrome允许每个进程拥有更大的JS堆,这样我就可以在不等待GC分钟的情况下扭转内存压力的测试运行?我无法找到的命令行参数?

1 个答案:

答案 0 :(得分:6)

是控制台中报告的jsHeapSizeLimit

 > console.memory
  MemoryInfo {totalJSHeapSize: 42100000, usedJSHeapSize: 29400000, jsHeapSizeLimit: 1620000000}

是根据两个限制计算的:

  size_t MaxReserved() {
    return 2 * max_semi_space_size_ + max_old_generation_size_;
  }

chromium source

您可以使用v8标志设置这些最大值(以MB为单位):

chromium --js-flags="--max_old_space_size=512 --max_semi_space_size=512"

(或者,如果您愿意,可以使用--js-flags=--help找到类似命名的初始分配标志。)

简要介绍gc如何管理堆空间here