3.2 vLLM 与 GPU 监控

一句话判断

Ollama 是“能跑”,vLLM 是“跑得快”。如果你要的是高并发、高吞吐的本地推理服务(给智能体群、给业务系统供 API),vLLM 是专业版的正解;而 GPU 监控是你判断“显卡有没有被吃干净、要不要扩容”的眼睛。

vLLM 是什么,和 Ollama 怎么选

vLLM 是面向大语言模型的高吞吐、内存高效推理与服务引擎。1Panel 在 AI → 模型 → 本地模型 → vLLM 页面提供可视化管理。该功能需要专业版或企业版许可证。

先给一张选型表:

维度 Ollama vLLM
定位 本地玩、单机对话 高并发推理服务
吞吐 一般(串行友好) 高(PagedAttention 等优化)
版本要求 社区版免费 专业版/企业版
部署复杂度 一键 要选加速设备、版本、模型目录、启动命令
典型场景 个人助手、内部工具 给业务供 API、压测对比

一句话决策:自己聊聊天,Ollima 足够;要 serving,上 vLLM。(顺带一提,Ollama 和 vLLM 可以共存,按 3.1 节的方式分别管理。)

前置条件:四个检查项

官方文档列出的前置条件,逐条对照:

  1. 服务器已安装与所选 vLLM 镜像和加速设备匹配的驱动及容器运行环境;
  2. NVIDIA GPU 时,nvidia-smi 能正常查看显卡信息,并已配置 NVIDIA Container Toolkit;
  3. Intel 或昇腾加速设备时,已按厂商要求完成驱动和容器运行环境配置;
  4. 已提前把模型文件放到服务器本地目录。

第 4 条是 vLLM 和 Ollama 最大的体验差异:vLLM 不帮你拉模型,它加载的是你提前准备好的本地模型目录(可以用 3.1 节的模型下载器准备好)。先有模型,再创服务,顺序不能反。

检查 GPU 是否可用,先看 GPU 监控页面,或者终端 nvidia-smi。

创建 vLLM 服务:参数逐个说

进入 AI → 模型,切换到 本地模型 → vLLM,点击 创建。创建过程是后台任务,完成后在列表看状态。

参数 说明 建议
名称 服务名,用于列表展示 有意义的名,如 vllm-qwen7b
加速设备 NVIDIA、Intel 或昇腾,按实际硬件选 以页面检测结果为准
版本 vLLM 应用版本,不同设备用不同镜像 跟着页面默认
端口 对外 API 端口,默认 8000 被占用就换一个
模型目录 服务器上的本地模型目录,会挂载进容器 提前用下载器准备好
启动命令 启动 vLLM 的命令参数,选模型目录后自动生成 有特殊推理参数才改

启动命令是自动生成的。 选了模型目录后,1Panel 会根据目录名生成默认命令。除非你有明确的推理参数需求(比如指定 --max-model-len、量化参数),别动它——启动命令写错,服务起不来,排查全靠日志。

创建完成后,vLLM 以 OpenAI 兼容接口对外提供推理能力。这是关键:意味着任何会调 OpenAI API 的应用都能直接对接,迁移成本几乎为零。

然后一步很重要:把服务同步为模型账号,供智能体及其他 AI 功能选择。同步时确认 Base URL、API 类型和模型信息与实际服务一致。不同步的话,智能体列表里看不到这个 vLLM 服务。

高级设置:有经验才动

展开高级设置可以看到:

设置 作用 劝告
容器名称 自定义容器名,默认跟服务名 保持默认
端口外部访问 开放防火墙端口,允许外部访问 默认别开(见下)
绑定主机 IP 只绑定到指定地址/网卡 不懂就默认
重启策略 容器异常退出后的重启方式 建议开启自动重启
CPU/内存限制 限制容器可用资源 显卡机器也要留 CPU
拉取镜像 启动前主动拉取目标镜像 网络差时勾上
编辑 compose 文件 手动改 Compose 配置 最容易翻车的入口

官方对编辑 compose 文件的措辞是:“该选项适合有经验的用户,修改不当可能导致创建失败。” 我的补充:改 compose 文件之前,先搞清楚 1Panel 生成的原始内容,在原始内容上改,不要重写;改完创建失败,先看任务日志的报错,通常指向你改的那一行。

外部访问:一条必须记住的安全红线

官方的警告值得原文引用:

模型 API 默认不等同于已完成身份认证,不应直接暴露到不受信任的网络。

vLLM 服务默认是没有鉴权的。 你把 8000 端口开到公网,等于把一个免费的、无密码的、还能消耗你显卡的 API 送给了全世界。

正确做法:

场景 怎么暴露
只给本机智能体用 端口仅绑定本机,不开放外部访问
给内网其他机器用 绑定内网 IP + 防火墙限制来源
给公网用 反向代理 + 域名 + HTTPS + 访问控制,别直连端口

开端口外部访问之前,先想清楚这三层你做了哪层。

日常管理

列表支持查看状态和运行目录,提供编辑、启动、停止、重启、删除、查看日志和任务追踪。

一条重要机制:修改镜像、启动命令、挂载或资源限制可能触发容器重建;未挂载到主机目录的数据不会随容器保留。 翻译一下:容器里的临时数据重建就没了,重要的东西(模型文件、日志)一定要挂载到主机目录。

排查启动失败,顺序是:任务日志 → 容器日志 → 启动命令 → 显存够不够。最常见的失败是显存不足——vLLM 启动时会预分配显存,模型放不下就直接挂。

GPU 监控:你的显卡仪表盘

GPU 监控入口是 AI → GPU 监控,社区版、专业版和企业版都能用。页面分当前状态和历史记录两个标签,多节点环境下展示的是当前所选节点的数据。

前提

1Panel 通过主机上已安装的显卡管理工具读数据。NVIDIA 的例子:装好匹配驱动,终端 nvidia-smi 正常返回。容器里用 GPU 还需要 NVIDIA Container Toolkit。

驱动与内核强绑定:升级内核或驱动可能影响现有 GPU 工作负载,生产环境先确认兼容性并安排维护窗口。

当前状态看什么

当前状态展示驱动版本、显卡型号、利用率、显存、温度、功耗等指标,并列出正在使用 GPU 的进程。

指标 判断方向
显存占用 接近满 → 加不了新服务;持续满 → 考虑扩容
利用率 长期个位数 → 显卡闲着,投入没收回
温度 / 功耗 异常高 → 散热或电源问题
占用进程 谁在吃显卡,一目了然

页面无数据怎么办? 官方给的路:先在终端验证显卡管理命令,再检查驱动状态和 1Panel 服务日志。90% 的“GPU 监控空白”是驱动没装好或者 nvidia-smi 本身就不通。

历史记录

历史记录按时间范围看 GPU 指标趋势。只有已被采集并保存的数据才能形成历史曲线——刚启用时是空的,等一段时间才有。切换节点时,重新确认当前节点和查询时间范围。

在容器中使用 GPU

驱动和容器工具配置好后,可以在支持 GPU 的应用或容器配置中开启 GPU 加速并选择设备。容器启动后,通过容器日志、主机 GPU 进程和利用率确认设备是否生效。

确认这一步很重要:有些容器配了 GPU 但实际没拿到,日志里不一定报错,只有“GPU 监控里没出现这个进程”能暴露问题。

本节要点

  • vLLM 需要专业版/企业版,先把模型文件准备好再创建服务;
  • 启动命令自动生成,没有明确需求别改;compose 文件是“高级且危险”的入口;
  • vLLM 以 OpenAI 兼容接口运行,创建后同步为模型账号才能被智能体选用;
  • 模型 API 默认无鉴权,暴露到公网前必须加反向代理和访问控制;
  • 容器重建会丢未挂载的数据,重要目录挂载到主机;
  • GPU 监控全民免费,前提是 nvidia-smi 能通;升级内核会让驱动失效。

vLLM 的完整参数说明见 《1Panel 官方文档:功能手册》 的 vLLM 与 GPU 监控章节。

下一节:模型能跑了,该让它们“干活”了——智能体和企业版的 AI 网关,见 3.3 节。