docs: Mettre à jour journal de session 2026-04-12

- État final des scripts et services
- ComfyUI memory manager avec restart container
- Beszel wake service
- Résumé commits
This commit is contained in:
Folzo
2026-04-12 12:25:45 +02:00
parent 2ca4235b89
commit b69dee1d3a
+103 -94
View File
@@ -15,6 +15,8 @@
| kreuzberg | 1 GB | 3.1% | | kreuzberg | 1 GB | 3.1% |
| effi-stt | 13 MB | 0.04% | | effi-stt | 13 MB | 0.04% |
**Cause**: ComfyUI charge les modèles en RAM (pas juste VRAM) et ne les décharge jamais.
--- ---
## 2. Solutions Implémentées ## 2. Solutions Implémentées
@@ -24,10 +26,10 @@
**Fichier**: `effi-stt/main.py` **Fichier**: `effi-stt/main.py`
**Modifications**: **Modifications**:
- Ajout d'un timer d'inactivité (défaut: 300s) - Timer d'inactivité (défaut: 300s)
- Le modèle Whisper est chargé à la première requête - Le modèle Whisper est chargé à la première requête
- Après 300s d'inactivité, le modèle est déchargé - Après 300s d'inactivité, le modèle est déchargé
- `gc.collect()` libéré la mémoire - `gc.collect()` libère la mémoire
**Nouveaux endpoints**: **Nouveaux endpoints**:
- `POST /unload` - déchargement manuel - `POST /unload` - déchargement manuel
@@ -37,28 +39,18 @@
**Variables d'environnement**: **Variables d'environnement**:
- `INACTIVITY_TIMEOUT=300` (secondes) - `INACTIVITY_TIMEOUT=300` (secondes)
**Commit**: `f69dda5`
--- ---
### B. ComfyUI - Déchargement VRAM après inactivité ### B. ComfyUI - Redémarrage container après inactivité
**Fichier**: `scripts/comfyui-unload-monitor.py` **Fichier**: `scripts/comfyui-memory-manager.py`
**Fonctionnement**: **Fonctionnement**:
- Script Python qui vérifie l'usage VRAM toutes les 60s - Vérifie VRAM, queue, et history toutes les 60s
- Après 300s d'inactivité avec VRAM utilisée: - Après 600s (10 min) d'inactivité + VRAM < 1% + RAM > 5GB
- Exécute le workflow `UnloadAllModelsNode` - Redémarre le container ComfyUI pour libérer la RAM
- Appelle `gc.collect()` + `torch.cuda.empty_cache()`
**Options**: **Service systemd**: `systemd/comfyui-memory-manager.service`
```bash
--interval 60 # Intervalle de vérification
--timeout 300 # Timeout d'inactivité
--debug # Mode debug
```
**Commit**: `f69dda5`
--- ---
@@ -73,11 +65,9 @@
**Note**: Kreuzberg est un binaire Rust pré-compilé, donc un restart container est nécessaire pour libérer la mémoire. **Note**: Kreuzberg est un binaire Rust pré-compilé, donc un restart container est nécessaire pour libérer la mémoire.
**Commit**: `f69dda5`
--- ---
### D. Installation Beszel Monitoring ### D. Beszel - Monitoring Infrastructure
**Architecture**: **Architecture**:
``` ```
@@ -93,27 +83,16 @@ NAS Synology (192.168.1.25) - Hub Beszel (port 8090)
| FolzoCorp | `/home/folzo/Documents/OpenCode/Projets/Effi/beszel` | | FolzoCorp | `/home/folzo/Documents/OpenCode/Projets/Effi/beszel` |
| EffiServer | `/home/effi/effi/beszel` | | EffiServer | `/home/effi/effi/beszel` |
**Fichiers de configuration**:
- `beszel/docker-compose-hub.yml` - Hub Synology
- `beszel/docker-compose-agent-folzocorp.yml` - Agent FolzoCorp
- `beszel/docker-compose-agent-effiserver.yml` - Agent EffiServer
**Monitoring GPU**: **Monitoring GPU**:
- FolzoCorp: `amd_sysfs` collector (AMD RX 7800 XT) - FolzoCorp: `amd_sysfs` collector (AMD RX 7800 XT)
- EffiServer: `SKIP_GPU=true` (pas de GPU) - EffiServer: `SKIP_GPU=true` (pas de GPU)
**Commits**: `8b1338f`, `5b677d8`, `8b6f967`
--- ---
### E. Client API Beszel pour Effi ### E. Client API Beszel pour Effi
**Fichier**: `scripts/beszel_client.py` **Fichier**: `scripts/beszel_client.py`
**Fonctionnement**:
- Permet à Effi d'interroger l'API Beszel
- Récupère les métriques CPU, RAM, VRAM, GPU
**Utilisation**: **Utilisation**:
```bash ```bash
export BESZEL_URL=http://192.168.1.25:8090 export BESZEL_URL=http://192.168.1.25:8090
@@ -125,72 +104,103 @@ python3 scripts/beszel_client.py --system folzocorp --check stats
python3 scripts/beszel_client.py --system folzocorp --check alerts python3 scripts/beszel_client.py --system folzocorp --check alerts
``` ```
**Commit**: `8b1338f` ---
### F. Service Beszel Wake - Redémarrage après veille
**Fichier**: `systemd/beszel-agent-wake.service`
**Fonctionnement**:
- Redémarre le container `beszel-agent` à chaque sortie de veille
- Asegure que Beszel envoie les données dès que le PC est allumé
--- ---
## 3. État Actuel RAM (après modifications) ## 3. Services systemd Installés
**-date**: 12 Avril 2026, 09:55 | Service | Description | Status |
|---------|-------------|--------|
``` | `comfyui-memory-manager` | Redémarre ComfyUI après inactivité | ✅ Actif |
Mem: 31Gi used / 29Gi | `beszel-agent-wake` | Redémarre Beszel au réveil | ✅ Actif |
Swap: 8Gi used / 8Gi (100%)
Container RAM:
- ComfyUI: 15.19 GiB (48.61%) ← Principal consommateur
- kreuzberg: 982.8 MiB (3.07%)
- beszel-agent: 5.4 MiB (0.02%)
```
**Note**: Les scripts de déchargement ne sont pas encore lancés. ComfyUI occupe toujours 15GB.
---
## 4. Prochaines Étapes
### A. Lancer les monitors mémoire
**Commandes**:
```bash ```bash
# Sur FolzoCorp # Statut
nohup python3 scripts/comfyui-unload-monitor.py > /var/log/comfyui-unload.log 2>&1 & sudo systemctl status comfyui-memory-manager
nohup python3 scripts/kreuzberg-memory-manager.py > /var/log/kreuzberg-mem.log 2>&1 & sudo systemctl status beszel-agent-wake
```
### B. Redémarrer effi-stt avec les nouvelles variables # Logs
journalctl -u comfyui-memory-manager -f
```bash journalctl -u beszel-agent-wake -f
cd effi-stt
docker compose down
docker compose up -d --build
```
### C. Vérifier la baisse de RAM après inactivity timeout
---
## 5. Commandes Utiles
### Vérifier RAM
```bash
free -h
docker stats --no-stream
```
### Logs monitors
```bash
tail -f /var/log/comfyui-unload.log
tail -f /var/log/kreuzberg-mem.log
```
### Statut Beszel
```bash
curl http://192.168.1.25:8090/api/systems -H "Authorization: Bearer <token>"
``` ```
--- ---
## 6. Liens ## 4. Fichiers Créés/Modifiés
### Scripts
| Fichier | Description |
|---------|-------------|
| `effi-stt/main.py` | Ajout timeout inactivité |
| `scripts/comfyui-memory-manager.py` | Monitor + restart ComfyUI |
| `scripts/kreuzberg-memory-manager.py` | Monitor + restart Kreuzberg |
| `scripts/beszel_client.py` | Client API Beszel |
| `scripts/start-memory-monitors.sh` | Script démarrage monitors |
### Systemd
| Fichier | Description |
|---------|-------------|
| `systemd/comfyui-memory-manager.service` | Service ComfyUI manager |
| `systemd/kreuzberg-memory-manager.service` | Service Kreuzberg manager |
| `systemd/beszel-agent-wake.service` | Service wake Beszel |
### Beszel
| Fichier | Description |
|---------|-------------|
| `beszel/docker-compose-hub.yml` | Hub Synology |
| `beszel/docker-compose-agent-folzocorp.yml` | Agent FolzoCorp |
| `beszel/docker-compose-agent-effiserver.yml` | Agent EffiServer |
---
## 5. État Actuel RAM
**-date**: 12 Avril 2026, 12:20
```
Mem: 25Gi used / 32Gi
VRAM: 1.18 GB / 17 GB (AMD RX 7800 XT)
```
**Containers**:
| Container | RAM | Observation |
|-----------|-----|-------------|
| ComfyUI | ~18 GB | shm_size réservé, VRAM ~500 MB |
| effi-stt | ~20 MB | Modèle déchargé si inactif |
| kreuzberg | ~5 MB | Restart si > 2GB |
| openedai-speech | ~15 MB | TTS - GPU, RAM légère |
**VRAM détail**:
- ComfyUI: ~500 MB (modèles actifs)
- ROCm overhead: ~700 MB
---
## 6. Résumé Commits Gitea
| Commit | Description |
|--------|-------------|
| `f69dda5` | feat(memory): Déchargement automatique mémoire |
| `8b1338f` | feat(beszel): Installation Beszel infrastructure |
| `5b677d8` | fix(beszel): Mise à jour chemins installation |
| `8b6f967` | fix(beszel): Retrait group_add pour Fedora |
| `e528e25` | feat: Add systemd services for memory monitors |
| `7439033` | fix: Corriger script ComfyUI monitor |
| `2ca4235` | feat: Add ComfyUI memory manager with container restart |
---
## 7. Liens Utiles
- [Beszel GitHub](https://github.com/henrygd/beszel) - [Beszel GitHub](https://github.com/henrygd/beszel)
- [Documentation Beszel](https://beszel.dev) - [Documentation Beszel](https://beszel.dev)
@@ -199,11 +209,10 @@ curl http://192.168.1.25:8090/api/systems -H "Authorization: Bearer <token>"
--- ---
## 7. Résumé Commits Gitea ## 8. Notes
| Commit | Description | - **ComfyUI**: VRAM légère mais RAM élevée. Redémarrage container libère ~18 GB.
|--------|-------------| - **effi-stt**: Modèle CPU, se décharge correctement après timeout.
| `f69dda5` | feat(memory): Déchargement automatique mémoire | - **Kreuzberg**: Restart container après inactivité si > 2GB.
| `8b1338f` | feat(beszel): Installation Beszel infrastructure | - **openedai-speech**: ~15 MB RAM, négligeable, utilise GPU pour modèles.
| `5b677d8` | fix(beszel): Mise à jour chemins installation | - **Beszel**: Wake service assure monitoring même après veille.
| `8b6f967` | fix(beszel): Retrait group_add pour Fedora |