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

Google Chrome后台莫名运行占用高CPU的问题求助

解决Selenium爬虫导致Chrome后台残留高CPU进程的方案

一、修复Selenium脚本的进程回收逻辑

这是最根本的解决方向,多数情况是脚本没正确终止Chrome相关进程:

  • 用driver.quit()替代driver.close():close()仅关闭当前标签页,不会终止整个Chrome进程和驱动,必须调用quit()才能彻底结束所有关联进程。
  • 添加异常兜底清理:确保脚本中途报错时也能执行关闭操作:
from selenium import webdriver

driver = None
try:
    driver = webdriver.Chrome()
    # 你的爬取业务逻辑
finally:
    if driver is not None:
        driver.quit()
  • 强制清理残留进程:如果quit()失效,可手动查杀Chrome相关进程:
import psutil

def kill_chrome_procs():
    for proc in psutil.process_iter(['name']):
        if proc.info['name'] in ['chrome.exe', 'chromedriver.exe']:
            try:
                proc.kill()
            except:
                pass

# 脚本结束时调用
kill_chrome_procs()

二、检查Windows任务计划配置

  • 避免重复触发:确认任务计划的触发条件,是否存在过于频繁的重复执行,或者任务未正常结束就再次启动,导致进程堆积。
  • 限制并行实例:在任务计划的「设置」选项卡中,将「如果任务已经在运行,则执行以下操作」设为「不启动新实例」,防止多进程叠加。

三、添加Chrome启动参数限制资源占用

启动Chrome时加入参数,减少后台资源消耗:

options = webdriver.ChromeOptions()
# 禁用GPU加速
options.add_argument('--disable-gpu')
# 禁用后台网络同步
options.add_argument('--disable-background-networking')
# 开启无头模式(无需可视化界面时使用)
options.add_argument('--headless=new')
# 限制CPU使用率(Chrome 73+支持)
options.add_argument('--cpu-limited')

driver = webdriver.Chrome(options=options)

四、阻止Chrome自动重启

若进程被结束后自动启动,大概率是Chrome后台服务或更新机制导致:

  • 关闭Chrome后台应用:打开Chrome设置→系统→取消勾选「关闭Google Chrome后继续运行后台应用程序」。
  • 禁用自动更新:
    1. 打开注册表编辑器(运行regedit),导航到HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome
    2. 创建DWORD值DisableAutoUpdate并设为1,再创建AutoUpdateCheckPeriodMinutes设为0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 09:40:28