環境
- MacBook Pro M2 Max, 32GB RAM
- macOS 15 Sequoia
- Python 3.11
步驟 1:安裝 ComfyUI
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
踩坑 1:PyTorch MPS 報錯
第一次啟動時出現:
RuntimeError: MPS backend out of memory
原因:MPS 的內存管理不如 CUDA 成熟,大模型容易 OOM。
解決:在啟動命令加上 --lowvram:
python main.py --lowvram
或者限制 MPS 緩存:
export PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.5
踩坑 2:模型路徑
ComfyUI 默認從 models/ 讀取。放置模型時注意子目錄結構:
ComfyUI/
└── models/
├── checkpoints/ # SD 基礎模型 (.safetensors)
├── vae/ # VAE 模型
├── clip/ # CLIP 模型
├── loras/ # LoRA 權重
└── controlnet/ # ControlNet 模型
踩坑 3:HuggingFace 下載慢
使用 huggingface-cli + 鏡像加速:
pip install huggingface_hub
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download stabilityai/stable-diffusion-xl-base-1.0 --local-dir models/checkpoints/
最終配置
我的啟動腳本 start.sh:
#!/bin/bash
source venv/bin/activate
export PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.3
python main.py --lowvram --listen 0.0.0.0 --port 8188
效能數據
| 模型 | 分辨率 | 耗時 | 內存 |
|---|---|---|---|
| SD 1.5 | 512×512 | ~15s | ~6GB |
| SDXL | 1024×1024 | ~45s | ~14GB |
| SDXL + LoRA | 1024×1024 | ~50s | ~16GB |
實際使用場景
場景一:電商產品圖生成 你需要為 100 個 SKU 生成不同背景的產品圖。配置 ComfyUI 工作流:輸入產品白底圖 → ControlNet 提取輪廓 → 提示詞描述場景("product on a marble desk, soft lighting, studio quality")→ 批量生成。一張 SDXL 圖約 45 秒,100 張約 75 分鐘,比用雲端服務節省大量費用。
場景二:UI 設計靈感板
設計師需要快速生成不同風格的 mockup。使用 ComfyUI + LoRA 模型(如 midjourney-style),輸入簡短提示詞即可得到高質量參考圖。相比手動搜索,效率提升 10 倍以上。
進階優化:使用 ComfyUI-Manager 管理插件
# 安裝 ComfyUI-Manager
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
pip install -r ComfyUI-Manager/requirements.txt
# 重啟 ComfyUI,在 Manager 中一鍵安裝常用節點:
# - ControlNet 預處理器
# - IPAdapter(風格遷移)
# - WAS Node Suite(圖像處理工具集)
# - ComfyUI-Impact-Pack(自動檢測)
性能調優:自定義啟動參數
#!/bin/bash
# start-optimized.sh
source venv/bin/activate
# MPS 內存控制
export PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.3
# 使用 fp16 減少內存
export PYTORCH_ENABLE_MPS_FALLBACK=1
python main.py \
--lowvram \
--fp16-vae \
--force-fp16 \
--listen 0.0.0.0 \
--port 8188 \
--front-end-version Comfy-Org/ComfyUI_frontend@latest
結論
Mac M2 跑 ComfyUI 是可行的,但需要合理的記憶體管理。7B LLM + SD 同時跑會爆 RAM,建議分開使用。MPS 的生態還在改進,但日常使用已經足夠。
推薦閱讀
- ComfyUI 官方 Wiki — 安裝和配置指南
- ComfyUI Examples — 各種工作流示例
- ComfyUI-Manager — 一鍵管理插件
- OpenArt 工作流庫 — 社區共享的 ComfyUI 工作流