- État final des scripts et services - ComfyUI memory manager avec restart container - Beszel wake service - Résumé commits
219 lines
5.9 KiB
Markdown
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.
|