Skip to content

[Bug] Chromium 崩溃根因排查与修复 - 容器内浏览器进程管理优化 #706

Description

@Clawiee

🐛 问题描述

Chromium 在容器环境中频繁崩溃,需要系统性排查根因并实施治本方案。

🔍 排查方向

1. 容器内 Chromium 安装和依赖检查

  • 验证 Chromium 二进制文件完整性
  • 检查系统依赖库(libnss3, libatk, libgtk 等)是否完整
  • 确认容器镜像中 Chromium 版本与 Playwright 版本兼容性
  • 检查共享内存配置(/dev/shm)是否充足

2. 进程管理逻辑审查

  • 检查 Playwright 浏览器启动参数(--no-sandbox, --disable-dev-shm-usage 等)
  • 验证子进程是否正确回收(避免僵尸进程)
  • 检查浏览器上下文(BrowserContext)和页面(Page)的生命周期管理
  • 确认超时和重试机制是否合理
  • 排查并发浏览器实例数量限制

3. 资源泄漏检测

  • 监控容器内内存使用趋势
  • 检查文件描述符泄漏
  • 验证临时文件清理逻辑
  • 排查事件监听器未正确卸载问题

🛠️ 可能的解决方案

短期(容器镜像更新)

  • 使用官方 Playwright 基础镜像(mcr.microsoft.com/playwright)
  • 增加容器共享内存配置
  • 调整 Chromium 启动参数优化稳定性

长期(应用代码修复)

  • 实现浏览器连接池管理
  • 添加进程健康检查和自动恢复机制
  • 优化并发控制和资源释放逻辑

📋 验收标准

  • 容器内 Chromium 稳定运行 24 小时无崩溃
  • 僵尸进程数量保持在 0
  • 内存使用稳定无持续增长
  • 浏览器操作成功率 > 99%

🔗 参考资料


优先级: High
标签: bug, infrastructure, chromium, playwright, container

Metadata

Metadata

Assignees

No one assigned

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions