Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Puppeteer 页面长时间打开后,Puppetter内存泄漏_Puppeteer - Fatal编程技术网

Puppeteer 页面长时间打开后,Puppetter内存泄漏

Puppeteer 页面长时间打开后,Puppetter内存泄漏,puppeteer,Puppeteer,我的脚本打开60个带有代理的无头chrome浏览器,每个浏览器有一个页面,并在我的网站上写下文本,以便在它们收到firebase命令时进行测试。它工作正常,但2小时后,他们开始减速,然后他们无法再执行发送的命令。我在合唱中使用了这些旗帜: '--proxy-server=downstream-proxy-address', '--proxy-server='+myip, '--no-sandbox',

我的脚本打开60个带有代理的无头chrome浏览器,每个浏览器有一个页面,并在我的网站上写下文本,以便在它们收到firebase命令时进行测试。它工作正常,但2小时后,他们开始减速,然后他们无法再执行发送的命令。我在合唱中使用了这些旗帜:

'--proxy-server=downstream-proxy-address',
                  '--proxy-server='+myip,
                  '--no-sandbox',
                  '--unlimited-storage', 
                  '--disable-setuid-sandbox',
                  '--disable-dev-shm-usage',
                  '--disable-accelerated-2d-canvas',
                  '--disable-gpu',
                  '--window-size=1920x1080',

我试着在10分钟后关闭每个浏览器,然后重新打开,但是没有用。解决这个问题的最佳解决方案是什么?

我遇到了同样的问题。后来,由于浏览器未在脚本中关闭,识别了其。如果捕获到异常,请在finally块中添加wait browser.close(),如下所示

try{
   var browser = await puppeteer.launch({
      headless: true,
      devtools: false,
      args: [
        '--no-sandbox','--disable-setuid-sandbox','--ignore-certificate-errors'],
      ignoreDefaultArgs: ['--enable-automation','--no-first-run'],
      executablePath: '/usr/bin/google-chrome'
     });
   var page = await browser.newPage();
   await page.goto(url, {timeout: 20000});
} catch (err) {
    console.log(err);
    response.status(500).send('ERROR: ' + err)
  } finally{
    await browser.close()
  }

我遇到了同样的问题。后来,由于浏览器未在脚本中关闭,识别了其。如果捕获到异常,请在finally块中添加wait browser.close(),如下所示

try{
   var browser = await puppeteer.launch({
      headless: true,
      devtools: false,
      args: [
        '--no-sandbox','--disable-setuid-sandbox','--ignore-certificate-errors'],
      ignoreDefaultArgs: ['--enable-automation','--no-first-run'],
      executablePath: '/usr/bin/google-chrome'
     });
   var page = await browser.newPage();
   await page.goto(url, {timeout: 20000});
} catch (err) {
    console.log(err);
    response.status(500).send('ERROR: ' + err)
  } finally{
    await browser.close()
  }

请分享更多信息:)您是否使用队列创建浏览器?它开什么样的网站?他们从firebase得到什么样的命令?两小时后他们会收到什么样的命令?请分享更多信息:)您是否使用队列创建浏览器?它开什么样的网站?他们从firebase得到什么样的命令?两小时后他们会收到什么命令?