增加电子存储限制

时间:2018-09-14 18:11:53

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

一旦内存使用量达到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使用率时不让我的应用崩溃?

1 个答案:

答案 0 :(得分:-2)

至少> 8.0.3的电子中没有这种问题。 经过多个缓冲区测试,每个缓冲区约2GB(buffer.constants.MAX_LENGTH