提高Chrome JS堆限制?

Ben*_*lts 5 javascript google-chrome

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

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

los*_*der 6

是的jsHeapSizeLimit,在控制台中报告:

 > console.memory
  MemoryInfo {totalJSHeapSize: 42100000, usedJSHeapSize: 29400000, jsHeapSizeLimit: 1620000000}
Run Code Online (Sandbox Code Playgroud)

从两个限制计算:

  size_t MaxReserved() {
    return 2 * max_semi_space_size_ + max_old_generation_size_;
  }
Run Code Online (Sandbox Code Playgroud)

铬源

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

chromium --js-flags="--max_old_space_size=512 --max_semi_space_size=512"
Run Code Online (Sandbox Code Playgroud)

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

的GC如何管理的堆空间短写起来是在这里.