#231·GLM-OCR

vLLM 服务在 WSL2 上失败 — 多模式编码器初始化期间 EngineCore 发生内存泄露

作者: sfingali创建于 2026年7月25日更新于 2026年7月26日

环境

  • 操作系统: Windows 10 + WSL2 (Ubuntu 24.04)

  • GPU: NVIDIA RTX 3090 (24 GB, sm_86)

  • 驱动: 596.x (WSL2)

  • vLLM: 0.26.0

  • Python: 3.10

  • 模型: zai-org/GLM-OCR (BF16, 2.47 GB)
    步骤

  • VLLM_WSL2_ENABLE_PIN_MEMORY=1 vllm serve zai-org/GLM-OCR --host 0.0.0.0 --port 8080

  • 观察到的行为

  • 在编码器缓存初始化期间出现引擎核心故障时崩溃。在尝试中出现多种崩溃模式:

    1. --enforce-eager OFF: 在 CUDA 图形捕获时崩溃 → flashinfer JIT 需要 nvcc (不在 WSL2 中)
    1. --enforce-eager ON: 模型加载,权重加载,然后在热身期间崩溃 — Triton M-RoPE 在 glm4.py 中出现错误:139
    1. 所有路径都在 RuntimeError: 引擎核心初始化失败时结束。失败的核心进程: {}
  • 什么可以工作

  • 原生 Linux: 同样的命令可以工作(根据 vLLM 问题 #29482)

  • HuggingFace transformers(纯 Python,无 vLLM): 在 WSL2 上可以工作 — 模型加载, CogViT 正确处理图像

内容来源: zai-org/GLM-OCR