一旦内存使用量达到 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/