用途:读取 SGLang/vLLM 服务启动日志,拆解 GPU HBM 占用(权重加载、KV 池、CUDA graph、框架开销等),并估算常见 token 长度下的并发请求数。适用于启动后理解显存分布、对比不同 --mem-fraction-static 对 KV 池容量的影响、部署容量规划、OOM 排查,以及评估 fp8 KV cache 或 EP 能否提升并发。
主要能力:输出显存分解表(类别/GiB/MiB/占比/推导来源)、各 TP rank 的 nvidia-smi 对比、KV 池细节(池配置、KV dtype、复制因子、每 token 字节计算)、并发估算表与调优建议;vLLM 报告另含启动证据段,日志中缺失的值保持 unknown。
使用方式:准备服务启动日志(必需),可选采集 nvidia-smi 数据:docker exec <container> nvidia-smi --query-gpu=index,memory.used,memory.free --format=csv,noheader > smi.txt。运行:python3 skills/llm-serving-capacity-planner/scripts/capacity_analyzer.py --log-file /path/to/sglang.log --nvidia-smi-file /path/to/smi.txt --gpu h200 --config-json /path/to/config.json;JSON 输出加 --format json。
关键概念:mem-fraction-static 的 headroom 由预加载空闲显存计算,KV 预算并非 post_weight_free * fraction;当 num_key_value_heads < tp_size 时 KV cache 在各 TP rank 复制;SWA 模型(如 DeepSeek-V4 的 CSA/HCA)的 bytes_per_full_token 已含压缩,需直接取日志值。
限制:SGLang 与 vLLM 内存检查点不同,部分字段无法一一对应;CSA/HCA 每 token KV 字节无法仅由 config 独立计算;DeepGEMM JIT 显存归入 other;PP 配置各 stage 显存可能不均,需按 stage 指定 --target-rank;MoE expert buffer 未单独报告。GPU 型号、价格、平台支持等资料未提供。