vLLM-v0.17.1保姆级教程SSH中用systemctl管理vLLM服务生命周期1. vLLM框架简介vLLM是一个专为大型语言模型(LLM)设计的高性能推理和服务库以其出色的吞吐量和易用性著称。这个项目最初诞生于加州大学伯克利分校的天空计算实验室如今已经发展成为一个由学术界和工业界共同维护的开源项目。vLLM的核心优势在于其创新的PagedAttention技术这种内存管理机制能够高效处理注意力机制中的键值对显著提升服务吞吐量。它还支持连续批处理请求通过CUDA/HIP图加速模型执行并提供多种量化选项(GPTQ、AWQ、INT4/8、FP8)来优化资源使用。1.1 主要技术特性高效内存管理PagedAttention技术实现注意力键值的动态分页高性能执行优化CUDA内核集成FlashAttention和FlashInfer灵活解码策略支持并行采样、束搜索等多种解码算法分布式推理兼容张量并行和流水线并行架构多硬件支持覆盖NVIDIA/AMD/Intel GPU、CPU及TPU等硬件平台API兼容性提供OpenAI兼容的API服务器接口高级功能支持推测性解码、分块预填充和多LoRA适配2. 环境准备与安装2.1 系统要求在开始之前请确保您的系统满足以下基本要求Linux操作系统(推荐Ubuntu 20.04/22.04)Python 3.8或更高版本CUDA 11.8或更高版本(NVIDIA GPU)至少16GB显存(运行大模型需要)SSH访问权限2.2 vLLM安装步骤通过SSH连接到服务器后执行以下命令安装vLLM# 创建Python虚拟环境 python -m venv vllm-env source vllm-env/bin/activate # 安装vLLM核心包 pip install vllm0.17.1 # 安装可选依赖(根据需求选择) pip install vllm[all]3. 创建systemd服务文件3.1 服务配置文件我们将创建一个systemd服务来管理vLLM的生命周期。使用文本编辑器创建服务文件sudo nano /etc/systemd/system/vllm.service输入以下内容(根据实际情况调整参数)[Unit] DescriptionvLLM Inference Server Afternetwork.target [Service] Userubuntu Groupubuntu WorkingDirectory/home/ubuntu EnvironmentPATH/home/ubuntu/vllm-env/bin ExecStart/home/ubuntu/vllm-env/bin/python -m vllm.entrypoints.api_server \ --model meta-llama/Llama-2-7b-chat-hf \ --tensor-parallel-size 1 \ --host 0.0.0.0 \ --port 8000 Restartalways RestartSec5 [Install] WantedBymulti-user.target3.2 关键参数说明--model: 指定要加载的HuggingFace模型ID--tensor-parallel-size: 设置张量并行度(根据GPU数量调整)--host/--port: 服务监听地址和端口Restartalways: 服务崩溃后自动重启4. 服务生命周期管理4.1 启动与停止服务配置完成后通过以下命令管理服务# 重新加载systemd配置 sudo systemctl daemon-reload # 启动vLLM服务 sudo systemctl start vllm # 查看服务状态 sudo systemctl status vllm # 停止服务 sudo systemctl stop vllm # 设置开机自启 sudo systemctl enable vllm4.2 日志查看与监控服务运行时产生的日志可以通过journalctl查看# 查看实时日志 sudo journalctl -u vllm -f # 查看最近100行日志 sudo journalctl -u vllm -n 100 # 查看特定时间段的日志 sudo journalctl -u vllm --since 2024-03-01 --until 2024-03-025. 服务配置优化5.1 性能调优参数根据硬件配置调整服务参数可以显著提升性能ExecStart/home/ubuntu/vllm-env/bin/python -m vllm.entrypoints.api_server \ --model meta-llama/Llama-2-7b-chat-hf \ --tensor-parallel-size 2 \ --max-num-seqs 256 \ --max-model-len 4096 \ --gpu-memory-utilization 0.9 \ --host 0.0.0.0 \ --port 80005.2 多模型服务配置如果需要同时服务多个模型可以创建多个服务文件# 创建第二个服务文件 sudo nano /etc/systemd/system/vllm-mixtral.service内容示例[Unit] DescriptionvLLM Mixtral Service Afternetwork.target [Service] Userubuntu Groupubuntu WorkingDirectory/home/ubuntu EnvironmentPATH/home/ubuntu/vllm-env/bin ExecStart/home/ubuntu/vllm-env/bin/python -m vllm.entrypoints.api_server \ --model mistralai/Mixtral-8x7B-Instruct-v0.1 \ --tensor-parallel-size 4 \ --port 8001 Restartalways6. 常见问题解决6.1 服务启动失败排查如果服务无法启动可以按照以下步骤排查检查模型路径是否正确确认GPU驱动和CUDA版本兼容验证显存是否足够加载模型检查端口是否被占用查看详细错误日志sudo journalctl -u vllm -xe6.2 性能问题处理遇到性能瓶颈时可以考虑增加--tensor-parallel-size值(需要更多GPU)降低--max-num-seqs限制并发请求数使用量化模型减少显存占用检查GPU利用率(nvidia-smi)和系统负载7. 总结通过本教程您已经学会了如何创建systemd服务来管理vLLM的生命周期服务配置的关键参数及其优化方法使用systemctl命令进行服务管理常见问题的排查与解决方法将vLLM作为系统服务运行后您可以获得以下优势服务崩溃后自动恢复系统重启后自动启动集中化的日志管理资源使用监控能力获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。
vLLM-v0.17.1保姆级教程:SSH中用systemctl管理vLLM服务生命周期
发布时间:2026/5/28 8:31:25
vLLM-v0.17.1保姆级教程SSH中用systemctl管理vLLM服务生命周期1. vLLM框架简介vLLM是一个专为大型语言模型(LLM)设计的高性能推理和服务库以其出色的吞吐量和易用性著称。这个项目最初诞生于加州大学伯克利分校的天空计算实验室如今已经发展成为一个由学术界和工业界共同维护的开源项目。vLLM的核心优势在于其创新的PagedAttention技术这种内存管理机制能够高效处理注意力机制中的键值对显著提升服务吞吐量。它还支持连续批处理请求通过CUDA/HIP图加速模型执行并提供多种量化选项(GPTQ、AWQ、INT4/8、FP8)来优化资源使用。1.1 主要技术特性高效内存管理PagedAttention技术实现注意力键值的动态分页高性能执行优化CUDA内核集成FlashAttention和FlashInfer灵活解码策略支持并行采样、束搜索等多种解码算法分布式推理兼容张量并行和流水线并行架构多硬件支持覆盖NVIDIA/AMD/Intel GPU、CPU及TPU等硬件平台API兼容性提供OpenAI兼容的API服务器接口高级功能支持推测性解码、分块预填充和多LoRA适配2. 环境准备与安装2.1 系统要求在开始之前请确保您的系统满足以下基本要求Linux操作系统(推荐Ubuntu 20.04/22.04)Python 3.8或更高版本CUDA 11.8或更高版本(NVIDIA GPU)至少16GB显存(运行大模型需要)SSH访问权限2.2 vLLM安装步骤通过SSH连接到服务器后执行以下命令安装vLLM# 创建Python虚拟环境 python -m venv vllm-env source vllm-env/bin/activate # 安装vLLM核心包 pip install vllm0.17.1 # 安装可选依赖(根据需求选择) pip install vllm[all]3. 创建systemd服务文件3.1 服务配置文件我们将创建一个systemd服务来管理vLLM的生命周期。使用文本编辑器创建服务文件sudo nano /etc/systemd/system/vllm.service输入以下内容(根据实际情况调整参数)[Unit] DescriptionvLLM Inference Server Afternetwork.target [Service] Userubuntu Groupubuntu WorkingDirectory/home/ubuntu EnvironmentPATH/home/ubuntu/vllm-env/bin ExecStart/home/ubuntu/vllm-env/bin/python -m vllm.entrypoints.api_server \ --model meta-llama/Llama-2-7b-chat-hf \ --tensor-parallel-size 1 \ --host 0.0.0.0 \ --port 8000 Restartalways RestartSec5 [Install] WantedBymulti-user.target3.2 关键参数说明--model: 指定要加载的HuggingFace模型ID--tensor-parallel-size: 设置张量并行度(根据GPU数量调整)--host/--port: 服务监听地址和端口Restartalways: 服务崩溃后自动重启4. 服务生命周期管理4.1 启动与停止服务配置完成后通过以下命令管理服务# 重新加载systemd配置 sudo systemctl daemon-reload # 启动vLLM服务 sudo systemctl start vllm # 查看服务状态 sudo systemctl status vllm # 停止服务 sudo systemctl stop vllm # 设置开机自启 sudo systemctl enable vllm4.2 日志查看与监控服务运行时产生的日志可以通过journalctl查看# 查看实时日志 sudo journalctl -u vllm -f # 查看最近100行日志 sudo journalctl -u vllm -n 100 # 查看特定时间段的日志 sudo journalctl -u vllm --since 2024-03-01 --until 2024-03-025. 服务配置优化5.1 性能调优参数根据硬件配置调整服务参数可以显著提升性能ExecStart/home/ubuntu/vllm-env/bin/python -m vllm.entrypoints.api_server \ --model meta-llama/Llama-2-7b-chat-hf \ --tensor-parallel-size 2 \ --max-num-seqs 256 \ --max-model-len 4096 \ --gpu-memory-utilization 0.9 \ --host 0.0.0.0 \ --port 80005.2 多模型服务配置如果需要同时服务多个模型可以创建多个服务文件# 创建第二个服务文件 sudo nano /etc/systemd/system/vllm-mixtral.service内容示例[Unit] DescriptionvLLM Mixtral Service Afternetwork.target [Service] Userubuntu Groupubuntu WorkingDirectory/home/ubuntu EnvironmentPATH/home/ubuntu/vllm-env/bin ExecStart/home/ubuntu/vllm-env/bin/python -m vllm.entrypoints.api_server \ --model mistralai/Mixtral-8x7B-Instruct-v0.1 \ --tensor-parallel-size 4 \ --port 8001 Restartalways6. 常见问题解决6.1 服务启动失败排查如果服务无法启动可以按照以下步骤排查检查模型路径是否正确确认GPU驱动和CUDA版本兼容验证显存是否足够加载模型检查端口是否被占用查看详细错误日志sudo journalctl -u vllm -xe6.2 性能问题处理遇到性能瓶颈时可以考虑增加--tensor-parallel-size值(需要更多GPU)降低--max-num-seqs限制并发请求数使用量化模型减少显存占用检查GPU利用率(nvidia-smi)和系统负载7. 总结通过本教程您已经学会了如何创建systemd服务来管理vLLM的生命周期服务配置的关键参数及其优化方法使用systemctl命令进行服务管理常见问题的排查与解决方法将vLLM作为系统服务运行后您可以获得以下优势服务崩溃后自动恢复系统重启后自动启动集中化的日志管理资源使用监控能力获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。