要在开机时进入指定的 conda
环境并启动此 vllm
服务,您可以通过以下步骤设置一个 systemd
服务来自动执行脚本。
一、第一步:创建一个启动脚本
1.打开终端并创建启动脚本,例如 /home/username/start_vllm.sh
(请替换 username
为实际用户名):
vim /home/username/start_vllm.sh
2.在文件中添加以下内容,将 conda_env_name
替换为您的 conda
环境的名称:
#!/bin/bash
# 加载 conda 环境
source ~/anaconda3/etc/profile.d/conda.sh # 改为自己正确的路径
conda activate conda_env_vllm # 改为自己vllm的环境名
# 启动 vllm 服务,下面的参数可按自己的需求进行设置,也可以在调用接口的时候进行设置
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
python -m vllm.entrypoints.openai.api_server \
--model /data/-DeepSeek-R1-Distill-Qwen-14B \
--served-model-name DeepSeek-R1-Distill-Qwen-14B \
--gpu-memory-utilization 0.85 \
--max-num-batched-tokens 32768 \
--max-model-len 8192 \
--dtype half \
--tensor-parallel-size 8 \
--swap-space 4 \
--max-num-seqs 100
3.保存文件并退出编辑器
先按esc,然后输入:wq,再进行Enter(回车)
4.修改权限,使脚本可执行:
chmod +x /home/username/start_vllm.sh
二、第二步:创建一个 systemd 服务
1. 在系统上创建一个新的服务文件
sudo vim /etc/systemd/system/vllm.service
2.在服务文件中添加以下内容,将 username
替换为您的实际用户名:
[Unit]
Description=VLLM Service for SQLCoder Model
After=network.target
[Service]
Type=simple
User=username
WorkingDirectory=/home/username
ExecStart=/bin/bash /home/username/start_vllm.sh
Restart=always
[Install]
WantedBy=multi-user.target
User=sxw
WorkingDirectory=/data/sxw
ExecStart=/bin/bash /data/sxw/5-bootstrap/start_vllm.sh
Restart=on-failure
3.保存文件并退出编辑器
先按esc,然后输入:wq,再进行Enter(回车)
三、第三步:启动服务
1.重新加载 systemd
服务:
sudo systemctl daemon-reload
2.启动服务以测试:
sudo systemctl start vllm.service
3.启用服务以便开机启动:
sudo systemctl enable vllm.service
四、第四步:检查服务状态
sudo systemctl status vllm.service
成功:
失败:
五、如果想停止systemd服务
这个操作只是为了以后不想用了,可以停止systemd相关服务。
1.停止服务:使用以下命令停止一个正在运行的服务:
sudo systemctl stop <service_name>
2.禁用服务:为了防止该服务在下次启动时自动运行,可以使用以下命令禁用服务:
sudo systemctl disable <service_name>
3.查看服务状态:如果你想要查看特定服务的状态,可以使用以下命令:
systemctl status <service_name>.service
参考:vllm serve 设置加载conda环境并开机自启动-CSDN博客