Files
product/scripts/gpu_monitor.sh
T
2026-03-29 20:50:53 +08:00

22 lines
707 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
OUT="${1:-$ROOT/outputs/gpu-metrics.csv}"
SECONDS_TOTAL="${2:-3600}"
INTERVAL="${3:-5}"
mkdir -p "$(dirname "$OUT")"
echo "ts,index,name,util_gpu,util_mem,mem_used_mb,mem_total_mb,temp_c,power_w" > "$OUT"
end_ts=$(( $(date +%s) + SECONDS_TOTAL ))
while [[ "$(date +%s)" -lt "$end_ts" ]]; do
now="$(date +%s)"
nvidia-smi --query-gpu=index,name,utilization.gpu,utilization.memory,memory.used,memory.total,temperature.gpu,power.draw \
--format=csv,noheader,nounits \
| awk -v ts="$now" -F', ' '{print ts","$1","$2","$3","$4","$5","$6","$7","$8}' >> "$OUT"
sleep "$INTERVAL"
done
echo "saved: $OUT"