28 lines
1.0 KiB
Desktop File
28 lines
1.0 KiB
Desktop File
[Unit]
|
|
Description=vLLM (Qwen3.8-Flash-Next-W4A16 on 4x RTX 3090, TP2xPP2+EP, MTP, 262K)
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=root
|
|
EnvironmentFile=-/etc/default/vllm
|
|
# start.sh is the single source of truth; the checkpoint goes first (CKPT in /etc/default/vllm)
|
|
WorkingDirectory=/opt/vllm
|
|
# The compile cache is $CACHE_ROOT, default /opt/vllm/.vllm-cache (on disk: it survives a
|
|
# reboot). A cold cache costs ~6 min of kernel compile at the next start, so do not use tmpfs here.
|
|
# Set CACHE_ROOT in /etc/default/vllm to move it.
|
|
ExecStart=/opt/vllm/start.sh
|
|
# MTP + cudagraphs do not always exit on SIGTERM: give --shutdown-timeout 10 room, then take the cgroup
|
|
KillMode=control-group
|
|
TimeoutStopSec=20
|
|
Restart=on-failure
|
|
RestartSec=15
|
|
LimitMEMLOCK=infinity
|
|
LimitNOFILE=1048576
|
|
# start.sh writes the engine and the PLE offload child to $LOG (/var/log/vllm.log by default);
|
|
# systemd/vllm.logrotate rotates it. The pre-serve lines stay in the journal: journalctl -u vllm
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|