A
返回 經驗
經驗2026/04/204 分鐘閱讀

在 Mac M2 上部署 ComfyUI 踩坑記錄

記錄在 Apple Silicon Mac 上從零部署 ComfyUI 的全過程,包括 PyTorch MPS 配置、模型下載、常見報錯和解決方案。

環境

  • 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

結論

Mac M2 跑 ComfyUI 是可行的,但需要合理的記憶體管理。7B LLM + SD 同時跑會爆 RAM,建議分開使用。MPS 的生態還在改進,但日常使用已經足夠。