木偶无头浏览器在内存不足后崩溃

时间:2019-02-27 17:07:02

标签: node.js puppeteer wavesurfer.js

我正在使用wavesurfer生成sepctrograms的{​​{1}},然后使用wav files函数将其保存。事情是,我每次加载新的screenshot()时都需要销毁wavesurfer instance并创建一个新的wav file。否则waveforms将会堆叠并导致崩溃。

这是我的代码的结构:

for(waveFile in waveFiles){
  page.evaluate((){
   // create wavesurfer instance generate the spectrogram and 
  // return getBoundingClientRect of the div surrounding the spectrogram 
  //to take a screenshot of it
  })
  page.screenshot()
 //afterwards i need to destroy the wavesurfer instance
}

我尝试传递波形实例并在新的validate()中销毁它,但是它没有用。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

您是否尝试启动带有标志-disable-dev-shm-usage 的浏览器?

const browser = await puppeteer.launch({
  args: ['--disable-dev-shm-usage']
});

document上来自操纵up的人:

  

默认情况下,Docker运行带有/ dev / shm共享内存的容器   空间64MB。通常对于Chrome来说太小,会导致   呈现大页面时,Chrome浏览器崩溃。要修复,请运行容器   使用docker run --shm-size = 1gb来增加/ dev / shm的大小