Files
Effi/docs/SESSION-2026-04-12-RAM-BESZEL.md
Folzo b69dee1d3a 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
2026-04-12 12:25:45 +02:00

219 lines
5.9 KiB
Markdown

# Journal de Session - 12 Avril 2026
## Objet: Optimisation RAM FolzoCorp + Installation Beszel
---
## 1. Problème Initial
**Symptôme**: RAM FolzoCorp à 30GB utilisée, jamais libérée
**Inventaire RAM (avant)**:
| Process | RSS | % |
|---------|-----|---|
| ComfyUI | 15.2 GB | 48.7% |
| kreuzberg | 1 GB | 3.1% |
| 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
### A. effi-stt - Déchargement Whisper après inactivité
**Fichier**: `effi-stt/main.py`
**Modifications**:
- Timer d'inactivité (défaut: 300s)
- Le modèle Whisper est chargé à la première requête
- Après 300s d'inactivité, le modèle est déchargé
- `gc.collect()` libère la mémoire
**Nouveaux endpoints**:
- `POST /unload` - déchargement manuel
- `POST /reload` - rechargement manuel
- `GET /stats` - statistiques (model_loaded, last_request_age)
**Variables d'environnement**:
- `INACTIVITY_TIMEOUT=300` (secondes)
---
### B. ComfyUI - Redémarrage container après inactivité
**Fichier**: `scripts/comfyui-memory-manager.py`
**Fonctionnement**:
- Vérifie VRAM, queue, et history toutes les 60s
- Après 600s (10 min) d'inactivité + VRAM < 1% + RAM > 5GB
- Redémarre le container ComfyUI pour libérer la RAM
**Service systemd**: `systemd/comfyui-memory-manager.service`
---
### C. Kreuzberg - Restart après inactivité
**Fichier**: `scripts/kreuzberg-memory-manager.py`
**Fonctionnement**:
- Vérifie la mémoire container toutes les 60s
- Si > 2GB pendant > 10min d'inactivité:
- Redémarre le container kreuzberg
**Note**: Kreuzberg est un binaire Rust pré-compilé, donc un restart container est nécessaire pour libérer la mémoire.
---
### D. Beszel - Monitoring Infrastructure
**Architecture**:
```
NAS Synology (192.168.1.25) - Hub Beszel (port 8090)
├── Agent FolzoCorp (192.168.1.11) - GPU AMD RX 7800 XT
└── Agent EffiServer (192.168.1.27) - Intel J5040
```
**Emplacements**:
| Système | Emplacement |
|---------|-------------|
| Synology NAS | `/volume1/docker/beszel` |
| FolzoCorp | `/home/folzo/Documents/OpenCode/Projets/Effi/beszel` |
| EffiServer | `/home/effi/effi/beszel` |
**Monitoring GPU**:
- FolzoCorp: `amd_sysfs` collector (AMD RX 7800 XT)
- EffiServer: `SKIP_GPU=true` (pas de GPU)
---
### E. Client API Beszel pour Effi
**Fichier**: `scripts/beszel_client.py`
**Utilisation**:
```bash
export BESZEL_URL=http://192.168.1.25:8090
export BESZEL_USER=admin
export BESZEL_PASSWORD=xxx
python3 scripts/beszel_client.py --list-systems
python3 scripts/beszel_client.py --system folzocorp --check stats
python3 scripts/beszel_client.py --system folzocorp --check alerts
```
---
### 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. Services systemd Installés
| Service | Description | Status |
|---------|-------------|--------|
| `comfyui-memory-manager` | Redémarre ComfyUI après inactivité | ✅ Actif |
| `beszel-agent-wake` | Redémarre Beszel au réveil | ✅ Actif |
**Commandes**:
```bash
# Statut
sudo systemctl status comfyui-memory-manager
sudo systemctl status beszel-agent-wake
# Logs
journalctl -u comfyui-memory-manager -f
journalctl -u beszel-agent-wake -f
```
---
## 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)
- [Documentation Beszel](https://beszel.dev)
- [AMD GPU Monitoring](https://beszel.dev/guide/gpu#amd)
- [REST API](https://beszel.dev/guide/rest-api)
---
## 8. Notes
- **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.
- **Kreuzberg**: Restart container après inactivité si > 2GB.
- **openedai-speech**: ~15 MB RAM, négligeable, utilise GPU pour modèles.
- **Beszel**: Wake service assure monitoring même après veille.