# Runbook — Audit de charge NAS DS920+ : méthode et état de référence (2026-07-12) ## Méthode de mesure (réutilisable) ```bash ssh nas '/usr/local/bin/docker stats --no-stream --format "{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}"' ssh nas 'free -m; cat /proc/loadavg; nproc; uptime' ssh nas 'ps aux --sort=-%cpu | head -12; ps aux --sort=-rss | head -8' ``` ### Pièges de lecture (Synology) - Le `uptime` DSM décompose le loadavg en `[IO: x CPU: y]` → **lire la part CPU**, le total inclut l'attente disque. - Un scan de fichiers depuis le Mac (find/ls sur /Volumes/docker en SMB) fait monter `smbd` à 80 %+ CPU → fausse le load 1 min. Mesurer avant/sans scan. - `docker stats` = mémoire cgroup (sans cache) ≠ RSS hôte via `ps`. Ex. qbittorrent : 434 Mo cgroup vs 1,83 Go RSS. - Swap utilisé ≠ pression actuelle : croiser avec `Dirty` (/proc/meminfo) et l'activité kswapd. ## État de référence 2026-07-12 (41 containers après purge flaresolverr) - RAM : 6,4 / 19,85 Go utilisés, ~12,9 Go disponibles ; somme RSS containers ≈ 4,8 Go ; swap 3,2 Go (résiduel). - CPU (J4125, 4 cœurs) : ~27 % en moyenne 15 min. - **Goulot réel = IO disque** : load IO soutenu 2,0–2,4 (btrfs + Postgres n8n/Baserow + SQLite multiples). La machine plafonnera par l'IO avant la RAM/CPU. - Top RAM : Baserow stack 1,3 Go ; Hermes ×3 1,3 Go ; qbittorrent 1,83 Go RSS ; n8n 413 Mo. - Top CPU steady : crowdsec ~11 %, ActiveInsight 3,5 % (**obligatoire, ne pas désactiver — protection DSM**), dockerd 3 %. ## Décisions actées - media-stack (prowlarr/radarr/sonarr) supprimé volontairement le 04/07 ; data conservée `/volume1/docker/media-stack/`. - wg-easy retiré : VPN NAS = **Tailscale**. WireGuard ne subsiste que sur le VPS (KeepSolid). `wg-admin-client` = client tunnel. - Verdict capacité : Family Help prod + nyora-veille passent sans dégradation (<300 Mo en pointe, LLM via Bifrost). Ne pas ajouter de service IO-intensif sans mesure préalable. ## Actions — CLÔTURÉES le 12/07/2026 1. flaresolverr purgé (orphelin, plus de client depuis la suppression de prowlarr). 41 containers actifs. 2. hermes-agent-perso recréé avec mem_limit/memswap_limit 768 Mo (compose racine hermes-platform) — vérifié : healthy, data 1026:100, UI 3030 = 200. ## Ce qui NE marche PAS - Backup de `hermes-perso/data` (4 Go dont 1,2 Go .browsers) via le montage SMB du Mac : cp/rsync time-out. Faire les copies côté NAS. - `ports-registry.md` dérive vite : resync v4 fait le 12/07 (source de vérité = docker ps réel).