vLLM后台运行完整解决方案

部署运行你感兴趣的模型镜像

🚀 vLLM后台运行完整解决方案

推荐方案:使用Screen会话

1. 快速启动(一条命令)

# 运行生成的脚本
bash <(curl -s https://raw.githubusercontent.com/your-scripts/vllm-background.sh)

# 或者手动执行下面的步骤

2. 手动设置Screen方案

# 安装screen(如果没有)
sudo apt-get install screen

# 创建启动脚本
cat > start_vllm.sh << 'EOF'
#!/bin/bash
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128
export TOKENIZERS_PARALLELISM=false

screen -dmS vllm bash -c "
python3 -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen3-Next-80B-A3B-Instruct \
--served-model-name Qwen3-Next-80B-A3B-Instruct \
--host 0.0.0.0 \
--port 8000 \
--tensor-parallel-size 8 \
--gpu-memory-utilization 0.88 \
--max-model-len 32768 \
--max-num-seqs 256 \
--max-num-batched-tokens 32768 \
--trust-remote-code \
--disable-log-requests \
--dtype bfloat16 \
--swap-space 32 \
--enable-chunked-prefill \
--disable-custom-all-reduce \
--block-size 32 2>&1 | tee ~/vllm.log
"
EOF

chmod +x start_vllm.sh

3. 启动和管理

# 启动服务
./start_vllm.sh

# 查看会话
screen -list

# 连接到会话(查看实时日志)
screen -r vllm

# 从会话中分离(不停止服务)
# 按 Ctrl+A,然后按 D

# 停止服务
screen -S vllm -X quit

🛠️ 其他方案对比

方案1:nohup(最简单)

# 启动
nohup python3 -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen3-Next-80B-A3B-Instruct \
--served-model-name Qwen3-Next-80B-A3B-Instruct \
--host 0.0.0.0 \
--port 8000 \
--tensor-parallel-size 8 \
--gpu-memory-utilization 0.88 \
--max-model-len 32768 \
--max-num-seqs 256 \
--max-num-batched-tokens 32768 \
--trust-remote-code \
--disable-log-requests \
--dtype bfloat16 \
--swap-space 32 \
--enable-chunked-prefill \
--disable-custom-all-reduce \
--block-size 32 > vllm.log 2>&1 &

# 保存进程ID
echo $! > vllm.pid

# 停止服务
kill $(cat vllm.pid)

方案2:Systemd服务(生产环境推荐)

# 创建服务文件
sudo tee /etc/systemd/system/vllm.service > /dev/null << EOF
[Unit]
Description=vLLM OpenAI API Server
After=network.target

[Service]
Type=simple
User=$(whoami)
WorkingDirectory=$(pwd)
Environment="CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7"
Environment="PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128"
Environment="TOKENIZERS_PARALLELISM=false"
ExecStart=/usr/bin/python3 -m vllm.entrypoints.openai.api_server \
  --model Qwen/Qwen3-Next-80B-A3B-Instruct \
  --served-model-name Qwen3-Next-80B-A3B-Instruct \
  --host 0.0.0.0 \
  --port 8000 \
  --tensor-parallel-size 8 \
  --gpu-memory-utilization 0.88 \
  --max-model-len 32768 \
  --max-num-seqs 256 \
  --max-num-batched-tokens 32768 \
  --trust-remote-code \
  --disable-log-requests \
  --dtype bfloat16 \
  --swap-space 32 \
  --enable-chunked-prefill \
  --disable-custom-all-reduce \
  --block-size 32
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

# 重载并启动服务
sudo systemctl daemon-reload
sudo systemctl enable vllm
sudo systemctl start vllm

# 管理命令
sudo systemctl status vllm    # 查看状态
sudo systemctl stop vllm     # 停止服务
sudo journalctl -u vllm -f   # 查看日志

📊 服务验证和监控

检查服务状态

# 检查端口
netstat -tuln | grep 8000

# 检查进程
ps aux | grep vllm

# 检查GPU使用
nvidia-smi

# 测试API
curl http://localhost:8000/health
curl http://localhost:8000/v1/models

性能监控脚本

cat > monitor_vllm.sh << 'EOF'
#!/bin/bash
while true; do
    echo "=== $(date) ==="
    echo "GPU状态:"
    nvidia-smi --query-gpu=index,utilization.gpu,memory.used,memory.total --format=csv
    echo "API状态:"
    curl -s http://localhost:8000/health && echo " ✅" || echo " ❌"
    echo "进程状态:"
    ps aux | grep vllm | grep -v grep | wc -l
    echo "------------------------"
    sleep 30
done
EOF

chmod +x monitor_vllm.sh
./monitor_vllm.sh

🎯 推荐使用流程

  1. 首次使用:选择Screen方案(易于调试和管理)
  2. 开发测试:使用nohup或Screen
  3. 生产部署:使用Systemd服务
  4. 高级用户:使用tmux(功能更强大)

您可能感兴趣的与本文相关的镜像

Vllm-v0.11.0

Vllm-v0.11.0

Vllm

vLLM是伯克利大学LMSYS组织开源的大语言模型高速推理框架,旨在极大地提升实时场景下的语言模型服务的吞吐与内存使用效率。vLLM是一个快速且易于使用的库,用于 LLM 推理和服务,可以和HuggingFace 无缝集成。vLLM利用了全新的注意力算法「PagedAttention」,有效地管理注意力键和值

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MonkeyKing.sun

对你有帮助的话,可以打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值