node.js - 增加 Electron 内存限制

标签 node.js electron v8 electron-builder electron-packager

一旦内存使用量达到 2,000 MB,我的 Electron 应用程序就会崩溃。

我可以通过在我的主进程文件中包含此代码来测试它,这会故意提高内存使用量:

    const all = [];
    let big = [];
    all.push(big);
    for (let i = 0; i < 2000000000; i++) {
      const newLen = big.push(Math.random());
      if (newLen % 500000 === 0) {
        big = [];
        all.push(big);
        console.log('all.length: ' + all.length);
        console.log('heapTotal: ' + Math.round(process.memoryUsage().heapTotal / 1e6));
      }
    }
    console.log(all.length);

我已经尝试了一切:
require('v8').setFlagsFromString('--max-old-space-size=4096');

app.commandLine.appendSwitch('js-flags', '--max-old-space-size=4096');

但它没有任何作用......

在 Electron v3.0.0-beta.12 和 Electron v2.0.9 ~ 2.0.x 上测试

如何增加 Electron 的内存限制,并且在达到 2GB 或 RAM 使用率时不会让我的应用程序崩溃?

最佳答案

在 Electron > 8.0.3(至少)中没有这样的问题。
使用多个缓冲区进行测试,每个缓冲区约 2GB ( buffer.constants.MAX_LENGTH )

关于node.js - 增加 Electron 内存限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52337289/

相关文章:

javascript - 如何在Windows 10上启动Edge with Open程序包

python - 嵌入在 C++ 中的 Lua 是否能够拥有持久的局部变量?如果没有,是否有脚本语言可以做到?

javascript - 如何在后端以自动方式录制 HTML 动画并将其保存为视频

python - 如何将 '-'字符串解析到node js本地脚本?

node.js - 没有代码签名就无法构建 Electron 应用程序

node.js - Node - Electron -FS(保存/读取)使 Electron 崩溃

javascript - 如何使用 V8 从 C++ 访问和调用 Javascript 对象属性和方法?

javascript - v8 Atomics.wait timeout 为什么误差这么大?

javascript - Nodejs - 迭代嵌套 JSON 数组的正确方法

node.js - 根 "/"上的快速路由在 app.get 中不起作用