【问题标题】:Increase Electron Memory limit增加电子内存限制
【发布时间】:2019-02-19 13:56:22
【问题描述】:

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

我可以通过将这段代码放在我的主进程文件中来测试它,这会故意提高内存使用率:

    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');

但没有任何效果......

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

我怎样才能增加 Electron 的内存限制,而不让我的应用在达到 2GB 或 RAM 使用量时立即崩溃?

【问题讨论】:

  • 我也会很感激。
  • 如果能知道这一点也太好了!
  • 解决这个问题?
  • 渲染器进程似乎没有这样的限制。在 Win10 上测试我已经通过 decodeAudioData() 加载了超过 5 小时的高质量音频数据,任务管理器显示我的应用正在使用 6+GB 内存,没有任何问题。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-03
    • 2019-03-13
    • 2023-03-09
    • 2014-04-24
    • 2023-03-22
    • 2012-03-08
    • 2018-03-03
    相关资源
    最近更新 更多