【问题标题】:Raise Chrome JS heap limit?提高 Chrome JS 堆限制?
【发布时间】:2017-04-26 19:54:13
【问题描述】:

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

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

【问题讨论】:

    标签: javascript google-chrome


    【解决方案1】:

    是的 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-09
      • 2019-03-19
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2019-10-20
      • 2011-09-11
      相关资源
      最近更新 更多