增加电子存储限制

Ray*_*hab 5 v8 node.js electron 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);
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一切:

require('v8').setFlagsFromString('--max-old-space-size=4096');

app.commandLine.appendSwitch('js-flags', '--max-old-space-size=4096');
Run Code Online (Sandbox Code Playgroud)

但是没有用...

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

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

san*_*ier -3

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