You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda运行Selenium爬取任务出现内存泄漏该如何解决?

解决思路

以下方案均无需修改业务爬取代码:

  • 调整Lambda单容器调用次数限制:在Lambda控制台的函数配置页,将单实例最大调用次数设置为1,每个容器仅处理1次请求后就会被平台销毁,从根源避免容器复用带来的内存累积问题。
  • Docker镜像层面添加兜底进程清理:修改Docker镜像的Lambda入口脚本,在每次调用执行完成后自动执行pkill -f "(chrome|chromedriver)"命令,强制杀掉所有残留的浏览器、驱动相关孤儿进程,兜底回收driver.quit未释放的进程资源。
  • 镜像层面配置Chrome默认启动参数:在Dockerfile中添加环境变量,给Chrome强制追加 --disable-cache --disable-application-cache --disk-cache-size=0 --media-cache-size=0 启动参数,禁用浏览器缓存,避免多次调用过程中缓存资源堆积占用内存。
  • 调整Lambda内存配置阈值:适当上调Lambda函数的内存上限,结合5-10秒的调用频率,更高的内存阈值可以容纳更多次调用的内存累积,同时平台会在容器内存达到阈值时自动销毁异常容器,降低OOM故障概率。

内容的提问来源于stack exchange,提问作者Emre Bayram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 20:45:10