ComfyUI 启动参数 –disable-assets:解决数据库锁定、启动慢问题

11次阅读
没有评论

原文参考:ComfyUI 官方文档启动参数章节ComfyUI

前言

新版 ComfyUI 引入了资产系统(assets system),Windows 便携版默认开启。很多人更新后遇到:启动报错 database is locked、数据库损坏、开机长时间扫描模型目录、多实例互斥锁冲突。 --disable-assets 就是官方提供的一键关闭资产系统的启动参数,不用降级,直接绕过资产数据库。

什么是 ComfyUI 资产系统(Assets)

资产系统是一套基于 SQLite 的后台索引系统,包含:

  1. 模型、图片等文件后台扫描
  2. SQLite 资产数据库
  3. 资产相关 API 接口
  4. 文件 Blake3 哈希、资产溯源、跨设备工作流资产解析

区别:

  • 源码版(手动 git 拉取):默认关闭资产系统
  • Windows 便携版(--windows-standalone-build):默认自动开启资产系统

启用资产系统的好处:工作流可记录模型哈希、跨设备迁移工作流自动识别资产; 代价:首次启动会全盘扫描模型文件夹,占用大量磁盘 IO,并且存在 SQLite 单文件锁限制,多实例容易冲突。

什么时候需要加上 –disable-assets

✅ 推荐使用场景:

  1. Windows 便携版启动报错 database is locked、数据库损坏,无法启动 ComfyUI(最常见)
  2. 模型库巨大,每次启动等待很久,不想后台扫描模型
  3. 本地同时运行多个 ComfyUI 实例,避免多进程争抢同一个 sqlite 数据库锁
  4. 不需要资产哈希、跨设备资产溯源这类高级功能

⚠️ 关闭后的影响:

  • 资产相关功能全部失效:资产索引、Blake3 哈希、跨设备资产解析不可用
  • 基础绘图、采样、模型加载完全不受影响,日常出图没有任何问题

用法示例

1. 源码版,用 main.py 启动

python main.py --disable-assets

2. Windows 便携版(修改 run_nvidia_gpu.bat)

找到 bat 内原始启动行:

.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build

追加 --disable-assets,修改后:

.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --disable-assets

保存文件,双击 bat 启动即可。

配套相关参数

表格

参数 说明
--enable-assets 开启资产系统,源码版默认关闭,便携版默认开启
--enable-asset-hashing 开启 Blake3 哈希计算,必须依赖资产系统,开启后会显著增加模型扫描耗时
--database-url 自定义 SQLite 数据库路径,多实例可以分开数据库文件,规避锁冲突

常见问题解答

Q:加上 –disable-assets 之后模型还能正常加载吗?

A:完全正常。只是不再后台维护资产数据库索引,模型文件读取逻辑不变,加载模型、绘图、采样不受影响。

Q:遇到 database is locked 报错,两种解决思路

方案 A:启动参数追加 --disable-assets,直接禁用资产系统(最简单推荐) 方案 B:保留资产系统,使用 --database-url 给不同实例指定独立数据库文件,避免争抢锁。

Q:数据库损坏怎么清理?

关闭 ComfyUI 全部进程,找到 ComfyUI 目录下的资产 sqlite 数据库文件,直接删除,重启即可;如果不想重建数据库,优先使用--disable-assets。

小结

如果你只是本地跑图,不需要资产溯源、哈希校验这类高级特性,或者频繁遇到数据库锁报错,直接加 --disable-assets 是性价比最高的方案。

注意:关闭资产系统只是关闭后台索引,不会影响核心绘图能力,绝大多数本地用户完全够用。

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)
验证码