#!/bin/bash # Script de diagnostic GPU quand utilisation à 95-100% # À exécuter sur folzo-Corp quand tu vois le GPU tourner à fond echo "==========================================" echo "DIAGNOSTIC GPU - $(date)" echo "==========================================" echo "" # 1. Utilisation GPU actuelle echo "1. UTILISATION GPU :" echo "--------------------" rocm-smi echo "" # 2. Processus utilisant le GPU echo "2. PROCESSUS GPU :" echo "------------------" rocm-smi --showpids echo "" # 3. Détails des processus Python (souvent les coupables) echo "3. PROCESSUS PYTHON :" echo "---------------------" ps aux | grep -E "(python|ollama|open-webui)" | grep -v grep echo "" # 4. Pour chaque PID utilisant le GPU, voir la ligne de commande complète echo "4. DÉTAILS DES PROCESSUS GPU :" echo "------------------------------" for pid in $(rocm-smi --showpids 2>/dev/null | grep -E "^[0-9]" | awk '{print $1}'); do echo "PID: $pid" echo "Commande: $(cat /proc/$pid/cmdline 2>/dev/null | tr '\0' ' ')" echo "Utilisateur: $(ps -o user= -p $pid 2>/dev/null)" echo "CPU: $(ps -o %cpu= -p $pid 2>/dev/null)%" echo "Mémoire: $(ps -o %mem= -p $pid 2>/dev/null)%" echo "---" done echo "" # 5. Threads actifs des processus importants echo "5. THREADS ACTIFS :" echo "-------------------" ps aux | grep -E "(python|ollama)" | grep -v grep | awk '{print $2}' | while read pid; do echo "PID $pid: $(cat /proc/$pid/cmdline 2>/dev/null | tr '\0' ' ' | cut -c1-80)" ls /proc/$pid/task/ 2>/dev/null | wc -l | xargs echo " Threads:" done echo "" # 6. Connexions réseau actives echo "6. CONNEXIONS RÉSEAU :" echo "---------------------" sudo netstat -tulpn 2>/dev/null | grep -E "(ollama|python|8188|11434)" || echo "Aucune connexion trouvée" echo "" # 7. Utilisation CPU/Mémoire globale echo "7. UTILISATION SYSTÈME :" echo "------------------------" echo "CPU:" top -bn1 | grep "Cpu(s)" | head -1 echo "" echo "Mémoire:" free -h | grep -E "(Mem|Swap)" echo "" # 8. Sauvegarde dans un fichier LOG_FILE="/tmp/gpu-diagnostic-$(date +%Y%m%d-%H%M%S).log" echo "Sauvegarde dans: $LOG_FILE" $0 > "$LOG_FILE" 2>&1 echo "" echo "==========================================" echo "Diagnostic terminé !" echo "=========================================="