LogoWonderful Launcher
  • 首頁
  • 定價
  • 文件
  • 下載
ComfyUI "Failed to Fetch":先判斷是哪條連線失敗多 GPU價格與積分說明
參考

ComfyUI 多 GPU:怎樣安全使用多張顯卡

Partially verifiedLow riskTested on Windows 10, Windows 11 | portable | Python 3.11+ | CUDA 12.x | Torch 2.x | ComfyUI 多 GPU 啟動參數和多實例端口模式Last verified 2026-06-04Estimated time 5-15 分鐘

解釋 ComfyUI 在多 GPU 場景下能做什麼、不能做什麼,說明 --cuda-device 的用法,以及怎樣把兩個實例跑在不同端口上。

ComfyUI 可以指定使用某一張 GPU,也可以在不同 GPU 上各跑一個獨立實例。

如果你搜的是 comfyui multi gpu,先記住三個結論:

  • 大多數普通工作流默認還是隻會跑在一張已選中的 GPU 上
  • 更實用的多卡方案通常是 兩個 ComfyUI 實例 + 兩個端口 + 兩張 GPU
  • 想讓 ComfyUI 從 GPU 0 換到 GPU 1,最常用的參數是 --cuda-device

很多人希望一個 KSampler 自動把同一個工作流拆到兩張卡上,但這通常不是標準 ComfyUI 工作流默認會做的事。

快速答案

目標推薦做法例子
用 GPU 1 代替 GPU 0用 --cuda-device 1 啟動python main.py --cuda-device 1
同時跑兩個隊列兩個 ComfyUI 實例,分別綁定不同端口--cuda-device 0 --port 8188 和 --cuda-device 1 --port 8189
保留所有 GPU 可見,但優先一張卡只在明確需要時用 --default-devicepython main.py --default-device 1
想讓一個工作流自動跨兩張卡默認通常不支持需要明確支持分佈式或多卡的模型 / 節點
顯存不夠想靠第二張卡兜底通常不現實先縮分辨率、縮 batch、用低顯存模式

多 GPU 在 ComfyUI 裡通常分三種情況

  1. 選一張 GPU 來跑:例如固定跑在 GPU 1。
  2. 跑多個實例:一個實例用 GPU 0,另一個實例用 GPU 1。
  3. 把同一個工作流拆到多張 GPU:單個模型或單個工作流真正跨卡並行。

前兩種是常見、可操作的。第三種不是多數標準工作流的默認行為。

第 1 步:先確認你的顯卡編號

在 Windows 或 Linux 上先運行:

nvidia-smi

通常第一張卡是 0,第二張卡是 1。

再確認 PyTorch 看得到 CUDA:

python -c "import torch; print(torch.cuda.device_count()); print(torch.cuda.get_device_name(0))"

如果 torch.cuda.device_count() 返回 0,那你現在還不是多 GPU 問題,而是 Torch 或 CUDA 根本沒裝好。先去看 GPU Compatibility。

第 2 步:用 --cuda-device 選定一張 GPU

手動安裝版:

python main.py --cuda-device 1

Windows 便攜包可以在啟動命令後面加:

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

--cuda-device 的核心作用是:當前這個 ComfyUI 進程只看見並使用你指定的那張卡。

所以即使日誌裡仍打印 cuda:0,也不一定是錯的。因為對這個進程來說,選中的那張卡可能已經變成了“唯一可見卡”。

第 3 步:兩張卡最穩的做法是跑兩個實例

實例 A:

python main.py --cuda-device 0 --port 8188

實例 B:

python main.py --cuda-device 1 --port 8189

然後分別打開:

http://127.0.0.1:8188
http://127.0.0.1:8189

這才是多數生產場景下最穩的多卡模式:一張卡一個隊列。

如果你長期這樣用,建議順手把用戶目錄也分開:

python main.py --cuda-device 0 --port 8188 --user-directory user-gpu0
python main.py --cuda-device 1 --port 8189 --user-directory user-gpu1

這樣瀏覽器狀態、工作流標籤和用戶設置不容易互相打架。

第 4 步:理解 --default-device

ComfyUI 還有一個 --default-device。它和 --cuda-device 不一樣:

  • --cuda-device 更像“只給這個進程一張卡”
  • --default-device 更像“默認優先這張卡,但別的卡仍然可見”

大多數用戶只需要 --cuda-device。只有在你明確知道某些節點或高級工作流需要保留其他設備可見時,再考慮 --default-device。

第 5 步:不要把多 GPU 當成顯存補丁

如果根因是某個工作流單卡顯存不夠,第二張卡通常不會自動讓同一個模型“拼卡成功”。

優先做這些:

  • 降低分辨率
  • 降低 batch size
  • 關閉其他佔顯存程序
  • 需要時加 --lowvram
  • 用量化模型或更小模型

如果你真正的問題是顯存壓力,先看 Python Out of Memory in ComfyUI。

常見誤區

誤區為什麼不對更好的做法
只開兩個瀏覽器標籤頁兩個標籤頁還是同一個 ComfyUI 進程真正再起一個新進程
把 --cuda-device 1 放錯位置參數沒有傳給 main.py確保參數跟在 main.py 後面
期待一個工作流自動分到兩張卡標準節點通常不會默認跨卡用兩個實例,或者用明確支持多卡的方案
兩個實例都佔用 8188同一個端口只能被一個進程綁定用 8188 和 8189
裝成 CPU-only TorchComfyUI 根本用不到 NVIDIA GPU重裝正確 CUDA wheel

怎麼驗證配置生效

啟動後先看 ComfyUI 日誌裡的設備信息,例如:

Device: cuda:0 NVIDIA GeForce ...

再在生成時觀察 nvidia-smi。如果你跑了兩個實例,就分別在兩個端口各排一個小任務,確認兩張 GPU 都有活動。

如果只有一張卡有負載,回頭檢查:

  • 你打開的是不是正確端口
  • 兩個進程是不是都還活著
  • 兩個命令是不是確實用了不同的 --cuda-device
  • 第二個實例是不是因為端口衝突沒啟動成功

相關頁面

  • GPU Compatibility
  • Python Out of Memory in ComfyUI
  • ComfyUI Reconnecting Error
  • ComfyUI Dependency Conflicts

先按上面的步驟定位根因。還卡住時,可以下載 Wonderful Launcher 檢查目前機器;啟動器原生修復、任務日誌和執行階段檢查會集中在一起。credits 只用於圖片生成和按量工具。

下載 Wonderful Launcher查看 credits 方案

這篇文件解決了你的問題嗎?

你的回饋會幫助我們優先補強真實 ComfyUI 排障文件。

ComfyUI "Failed to Fetch":先判斷是哪條連線失敗

ComfyUI 顯示 Failed to Fetch 只代表瀏覽器沒有收到可用回應。修改安裝前,先區分失敗來自後端、Manager、Registry、WebSocket、工作流草稿還是代理。

價格與積分說明

瞭解 Wonderful Launcher 的 credits 覆蓋什麼、哪些能力保持免費,以及如何選擇合適的權益。

目錄

快速答案
多 GPU 在 ComfyUI 裡通常分三種情況
第 1 步:先確認你的顯卡編號
第 2 步:用 --cuda-device 選定一張 GPU
第 3 步:兩張卡最穩的做法是跑兩個實例
第 4 步:理解 --default-device
第 5 步:不要把多 GPU 當成顯存補丁
常見誤區
怎麼驗證配置生效
相關頁面