javascript - 提高 Chrome JS 堆限制?

标签 javascript google-chrome

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

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

最佳答案

是的,控制台中报告了 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 .

关于javascript - 提高 Chrome JS 堆限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43643406/

相关文章:

javascript - 从 jQuery 选择器 .html() 中删除 Ember.js 脚本标签

javascript - 浏览器重启后,使用 Service Worker 的离线 JavaScript 应用程序能否运行?

javascript - 单选按钮检查

javascript - Laravel 6-Bootstrap 为什么 Popover 在没有错误的情况下不起作用?

javascript - CSS 在图像周围添加一个 fat "frame"而不改变图像定位

c++ - Chromium mini 安装程序大小达到 1.19GB?

CSS Sibling 选择器在 Chrome 下出现故障

ruby-on-rails - 在 Chrome 中未加载 Pow 域

javascript window.open 不是 chrome 中请求的大小

javascript - 使用 html5 拖放上传上传后播放 mp3 文件