first commit
This commit is contained in:
67
scripts/vllm-serve.sh
Normal file
67
scripts/vllm-serve.sh
Normal file
@@ -0,0 +1,67 @@
|
||||
#!/bin/bash
|
||||
# vLLM Server Startup Script for DGX Spark
|
||||
# Usage: ./vllm-serve.sh <model_name> [port]
|
||||
|
||||
set -e
|
||||
|
||||
# Determine installation directory (where this script is located)
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# Configuration
|
||||
MODEL="${1:-Qwen/Qwen2.5-0.5B-Instruct}"
|
||||
PORT="${2:-8000}"
|
||||
VLLM_DIR="$SCRIPT_DIR/vllm"
|
||||
ENV_SCRIPT="$SCRIPT_DIR/vllm_env.sh"
|
||||
PID_FILE="$SCRIPT_DIR/.vllm-server.pid"
|
||||
LOG_FILE="$SCRIPT_DIR/vllm-server.log"
|
||||
|
||||
# Check if server is already running
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if ps -p $PID > /dev/null 2>&1; then
|
||||
echo "ERROR: vLLM server is already running (PID: $PID)"
|
||||
echo "Use ./vllm-stop.sh to stop it first"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Source environment
|
||||
source "$ENV_SCRIPT"
|
||||
|
||||
echo "=" | tr '=' '-' | head -c 70 && echo
|
||||
echo "Starting vLLM Server on DGX Spark"
|
||||
echo "=" | tr '=' '-' | head -c 70 && echo
|
||||
echo "Model: $MODEL"
|
||||
echo "Port: $PORT"
|
||||
echo "Log file: $LOG_FILE"
|
||||
echo "PID file: $PID_FILE"
|
||||
echo "=" | tr '=' '-' | head -c 70 && echo
|
||||
|
||||
# Start server in background
|
||||
cd "$VLLM_DIR"
|
||||
nohup python -m vllm.entrypoints.openai.api_server \
|
||||
--model "$MODEL" \
|
||||
--trust-remote-code \
|
||||
--host 0.0.0.0 \
|
||||
--port "$PORT" \
|
||||
--gpu-memory-utilization 0.9 \
|
||||
> "$LOG_FILE" 2>&1 &
|
||||
|
||||
# Save PID
|
||||
echo $! > "$PID_FILE"
|
||||
echo "OK: Server started with PID: $(cat $PID_FILE)"
|
||||
echo "OK: Waiting for server to be ready..."
|
||||
|
||||
# Wait for server to be ready
|
||||
sleep 5
|
||||
if ps -p $(cat "$PID_FILE") > /dev/null 2>&1; then
|
||||
echo "OK: Server is running!"
|
||||
echo ""
|
||||
echo "Test with: curl http://localhost:$PORT/v1/models"
|
||||
echo "View logs: tail -f $LOG_FILE"
|
||||
echo "Stop server: ./vllm-stop.sh"
|
||||
else
|
||||
echo "ERROR: Server failed to start. Check logs: $LOG_FILE"
|
||||
rm -f "$PID_FILE"
|
||||
exit 1
|
||||
fi
|
||||
45
scripts/vllm-status.sh
Normal file
45
scripts/vllm-status.sh
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
# vLLM Server Status Script for DGX Spark
|
||||
|
||||
# Determine installation directory (where this script is located)
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
PID_FILE="$SCRIPT_DIR/.vllm-server.pid"
|
||||
LOG_FILE="$SCRIPT_DIR/vllm-server.log"
|
||||
|
||||
echo "=" | tr '=' '-' | head -c 70 && echo
|
||||
echo "vLLM Server Status on DGX Spark"
|
||||
echo "=" | tr '=' '-' | head -c 70 && echo
|
||||
|
||||
if [ ! -f "$PID_FILE" ]; then
|
||||
echo "Status: NOT RUNNING (no PID file found)"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
PID=$(cat "$PID_FILE")
|
||||
|
||||
if ! ps -p $PID > /dev/null 2>&1; then
|
||||
echo "Status: NOT RUNNING (stale PID file)"
|
||||
echo "Cleaning up PID file..."
|
||||
rm -f "$PID_FILE"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Status: RUNNING"
|
||||
echo "PID: $PID"
|
||||
echo "Started: $(ps -p $PID -o lstart= 2>/dev/null || echo 'Unknown')"
|
||||
echo "CPU: $(ps -p $PID -o %cpu= 2>/dev/null || echo 'N/A')%"
|
||||
echo "Memory: $(ps -p $PID -o %mem= 2>/dev/null || echo 'N/A')%"
|
||||
echo ""
|
||||
|
||||
# Check if log file exists and show last few lines
|
||||
if [ -f "$LOG_FILE" ]; then
|
||||
echo "Recent log entries (last 10 lines):"
|
||||
echo "-" | tr '-' '-' | head -c 70 && echo
|
||||
tail -n 10 "$LOG_FILE"
|
||||
else
|
||||
echo "Log file not found: $LOG_FILE"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=" | tr '=' '-' | head -c 70 && echo
|
||||
47
scripts/vllm-stop.sh
Normal file
47
scripts/vllm-stop.sh
Normal file
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
# vLLM Server Stop Script for DGX Spark
|
||||
|
||||
# Determine installation directory (where this script is located)
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
PID_FILE="$SCRIPT_DIR/.vllm-server.pid"
|
||||
|
||||
if [ ! -f "$PID_FILE" ]; then
|
||||
echo "No vLLM server PID file found. Server may not be running."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
PID=$(cat "$PID_FILE")
|
||||
|
||||
if ! ps -p $PID > /dev/null 2>&1; then
|
||||
echo "vLLM server (PID: $PID) is not running. Cleaning up PID file."
|
||||
rm -f "$PID_FILE"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Stopping vLLM server (PID: $PID)..."
|
||||
kill $PID
|
||||
|
||||
# Wait for process to terminate
|
||||
for i in {1..10}; do
|
||||
if ! ps -p $PID > /dev/null 2>&1; then
|
||||
echo "OK: Server stopped successfully"
|
||||
rm -f "$PID_FILE"
|
||||
exit 0
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# Force kill if still running
|
||||
if ps -p $PID > /dev/null 2>&1; then
|
||||
echo "Server did not stop gracefully. Force killing..."
|
||||
kill -9 $PID
|
||||
sleep 1
|
||||
if ! ps -p $PID > /dev/null 2>&1; then
|
||||
echo "OK: Server force stopped"
|
||||
rm -f "$PID_FILE"
|
||||
else
|
||||
echo "ERROR: Failed to stop server"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
Reference in New Issue
Block a user