# 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.