#!/bin/bash
LOG_FILE="/path/to/logfile.log"while true; doGPU_LIST=$(nvidia-smi --query-gpu=index --format=csv,noheader,nounits)while IFS=',' read -r GPU_INDEX; doMEMORY_INFO=$(nvidia-smi --id="$GPU_INDEX" --query-gpu=memory.total,memory.used --format=csv,noheader,nounits)TOTAL_MEMORY=$(echo "$MEMORY_INFO" | cut -d ',' -f 1)USED_MEMORY=$(echo "$MEMORY_INFO" | cut -d ',' -f 2)MEMORY_USAGE_PERCENT=$(echo "scale=2; $USED_MEMORY / $TOTAL_MEMORY * 100" | bc)if (( $(echo "$MEMORY_USAGE_PERCENT > 75" | bc -l) )); thenecho "$(date +'%Y-%m-%d %H:%M:%S') - GPU $GPU_INDEX 内存使用率超过 75%: $MEMORY_USAGE_PERCENT%" >> "$LOG_FILE"fidone <<< "$GPU_LIST"sleep 300
done