我们想要为我们的软件创建网站屏幕截图,我们通过使用 CutyCapt 和 Xvfb 来实现这一点。
不幸的是,每次CutyCapt截图时,Xvfb的内存都会增加..直到男孩的内存爆炸。这与 CutyCapt 无关,似乎 Xvfb 在应用程序退出时不会清理一些内存。
是否有任何解决方案(除了重新启动 Xvfb(我们现在通过 cron 作为修补程序执行此操作))。
Xvfb :1 -screen 0 1280x1024x24
我用(当然是在脚本中;))启动 Xvfb
答案1
添加-noreset
到 Xvfb 参数可以消除内存泄漏。请参阅我关于该问题的文章这里。
答案2
Xvfb 中存在已知的内存泄漏;参见例如红帽错误 #498357(和#201536之前)。
在一段时间间隔后重新启动 Xvfb,或当其内存大小达到一定阈值 ( [ $(ps -o vzs= $pid) -ge $threshold ]
) 或在一定数量的屏幕截图后重新启动 Xvfb,似乎是合理的解决方法,直到找到并修复此错误。