增加电子内存限制
Posted
技术标签:
【中文标题】增加电子内存限制【英文标题】: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 内存,没有任何问题。 【参考方案1】:电子> 8.0.3(至少)没有这样的问题。
使用多个缓冲区进行测试,每个 ~2GB (buffer.constants.MAX_LENGTH
)
【讨论】:
以上是关于增加电子内存限制的主要内容,如果未能解决你的问题,请参考以下文章