@@ -0,0 +1,16 @@
|
||||
# Bare-metal log policy for /var/log/vllm.log (start.sh writes it, LOG=<path> to move it).
|
||||
# Install: sudo install -m 0644 systemd/vllm.logrotate /etc/logrotate.d/vllm
|
||||
# The container needs none of this: docker-compose.yml caps the json-file log at 100m x 14.
|
||||
|
||||
/var/log/vllm.log {
|
||||
daily
|
||||
maxsize 100M
|
||||
rotate 14
|
||||
compress
|
||||
delaycompress
|
||||
missingok
|
||||
notifempty
|
||||
copytruncate
|
||||
maxage 60
|
||||
create 0640 root root
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
[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
|
||||
Reference in New Issue
Block a user