增加电子内存限制

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)

【讨论】:

以上是关于增加电子内存限制的主要内容,如果未能解决你的问题,请参考以下文章

增加 wamp 的内存限制

IIS Express - 增加内存限制

OSX composer 增加内存限制

增加 PHP 内存限制(Apache、Drupal6)

是否可以增加 R 中的内存限制

如何在php 7中增加内存限制[重复]