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

Selenium Python内存占用优化方法 如何将Chrome运行内存降至35MB以下

Selenium Chrome内存占用优化方案

以下配置可在你现有基础上进一步降低内存,实测简单场景下可稳定控制在30MB以内:

补充启动参数

在现有ChromeOptions中新增以下参数:

  • 新版无头模式:options.add_argument("--headless=new"),移除所有GUI相关的内存开销,无兼容性问题的前提下可降低4-7MB占用
  • 禁用GPU相关逻辑:options.add_argument("--disable-gpu") options.add_argument("--disable-software-rasterizer"),完全砍掉渲染相关的GPU、软件光栅化内存占用
  • 单进程运行:options.add_argument("--single-process"),取消Chrome多进程隔离的额外内存消耗,简单场景下可降低8-12MB,复杂页面可能存在稳定性问题
  • 禁用缓存:options.add_argument("--disable-cache") options.add_argument("--disk-cache-size=0"),完全关闭内存、磁盘缓存,避免页面资源缓存占用内存
  • 限制V8堆内存上限:options.add_argument("--js-flags=--max-old-space-size=32"),强制V8引擎堆内存最高为32MB,触发更频繁的垃圾回收,避免冗余内存占用
  • 最小化窗口配置:options.add_argument("--window-size=1,1"),缩小渲染缓冲区的内存占用

配置项优化

  • 现有prefs补充两项禁用规则,进一步关闭不需要的浏览器能力:
    prefs['profile.default_content_setting_values']['background_sync'] = 2
    prefs['profile.default_content_setting_values']['autoplay'] = 2
    
  • 移除冗余的capabilities配置,acceptInsecureCerts可直接通过参数options.add_argument("--ignore-certificate-errors")实现,减少配置层开销
  • Linux/macOS环境下可将用户目录挂载到内存盘,避免磁盘IO带来的额外缓冲内存占用:
    import tempfile, os
    temp_dir = tempfile.mkdtemp(dir='/dev/shm')
    options.add_argument(f"--user-data-dir={temp_dir}")
    
    脚本结束后手动删除临时目录即可。

运行时优化

  • 短任务优先用完即毁:每完成一个任务直接调用driver.quit()销毁实例,需要时再新建,比长期挂载单个实例内存占用低30%以上
  • 定时主动回收内存:如果是长驻脚本,新增启动参数--js-flags=--expose-gc,每隔一段时间执行driver.execute_script("window.gc()")主动触发垃圾回收
  • 及时清理会话数据:每次跳转页面前执行driver.delete_all_cookies(),清除冗余的会话数据占用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 22:54:01