Solution communautaire

Corriger l’avertissement de mémoire partagée de 64 Mo de Frigate sur ZimaOS

An April 2026 ZimaBoard 2 thread solved a Frigate shared-memory warning by treating shm_size as a Docker Compose runtime option rather than an environment variable and editing the app YAML.

Si Frigate indique que la taille actuelle de la mémoire partagée n’est que de 64 Mo, augmentez la valeur shm_size du conteneur dans la définition du service Docker Compose. N’ajoutez pas shm_size comme variable d’environnement : Docker Compose la considère comme un paramètre d’exécution au niveau du service qui contrôle le /dev/shm du conteneur.

L’utilisateur concerné a vu une recommandation d’au moins 306 Mo sur un ZimaBoard 2. La valeur exacte dépend de la charge de travail : reproduisez donc le mécanisme plutôt que de copier aveuglément un nombre. Le nombre de caméras, la résolution et le nombre d’images décodées influencent tous les besoins de Frigate en mémoire partagée.

Pourquoi Frigate ne voit que 64 Mo par défaut

Les conteneurs Docker démarrent généralement avec un système de fichiers de mémoire partagée relativement petit. Frigate utilise /dev/shm pour les images vidéo brutes décodées. La charge liée aux caméras peut donc dépasser la valeur par défaut, même si l’hôte dispose de beaucoup de mémoire vive libre.

L’avertissement concerne donc l’allocation de mémoire partagée du conteneur, et pas simplement la mémoire totale du système. Ajouter de la mémoire vive physique sans modifier le paramètre du conteneur n’agrandit pas automatiquement le /dev/shm du conteneur.

shm_size n’est pas une variable d’environnement

Lors d’une étape du dépannage sur le forum, l’utilisateur a essayé d’ajouter shm_size dans la section des variables d’environnement. Un autre participant a indiqué à juste titre que cela ne configure pas le montage de mémoire partagée de Docker.

Docker Compose définit directement shm_size sous le service, au même niveau que des paramètres tels que l’image, la politique de redémarrage, les volumes et les périphériques. La référence actuelle de Compose indique que ce champ configure la taille du /dev/shm du conteneur du service.

Référence Docker Compose de shm_size est la source faisant autorité pour la syntaxe.

Modifier le fichier YAML du service Frigate

La discussion utilisait une valeur au niveau du service équivalant approximativement à 1 Go en octets. Les analyseurs Compose actuels et les exemples Frigate acceptent également les tailles lisibles par un humain. Une structure simplifiée ressemble à ceci :

services:
  frigate:
    image: ...
    shm_size: "512mb"
    ...

Conservez le champ au même niveau d’indentation que les autres paramètres d’exécution du service. Si une version particulière de ZimaOS ou un éditeur refuse une unité lisible par un humain, la valeur en octets utilisée dans la discussion communautaire constitue une solution de compatibilité : l’important est que le paramètre appartienne au service Compose, et non à environment:.

Paramètres d’application personnalisée de ZimaOS utilisés pour accéder à la configuration Compose de Frigate
La discussion d’origine est passée des paramètres habituels de l’application à la configuration Compose/YAML.
Boîte de dialogue d’importation Docker Compose de ZimaOS affichée lors de la configuration de la mémoire partagée de Frigate
Le processus utilisé en avril 2026 reposait sur l’importation Compose ; les versions plus récentes de ZimaOS permettent une modification YAML plus directe.

Choisir une valeur adaptée à votre charge réelle de caméras

La documentation actuelle de Frigate explique que les besoins en mémoire partagée dépendent des dimensions de l’image et du nombre d’images mises en mémoire tampon. Son fichier Compose d’exemple actuel utilise une allocation supérieure à la valeur par défaut de Docker et fournit des indications pour estimer les besoins.

Ne définissez pas une valeur arbitrairement élevée sans raison. Augmentez-la suffisamment pour faire disparaître l’avertissement dans les conditions réelles, redémarrez ou recréez le conteneur afin d’appliquer le paramètre d’exécution, puis vérifiez la taille effective depuis le conteneur en cours d’exécution.

Instructions actuelles d’installation de Frigate doivent primer sur une valeur fixe issue de la discussion de 2026.

Le processus de modification dans ZimaOS dépend de la version

La publication d’origine a été rédigée alors que l’utilisateur employait une version bêta de ZimaOS 1.6.0. Une réponse d’IceWhale indiquait également que le comportement de la mémoire partagée côté hôte dans la version 1.5.4 différait de celui observé par l’utilisateur, ce qui a ajouté à la confusion entre les paramètres de l’hôte et ceux du conteneur.

Les versions actuelles de ZimaOS 1.7.x permettent de modifier nativement le YAML, et la version 1.7.1 a précisément amélioré la compatibilité lors de l’enregistrement du YAML. Utilisez si possible l’éditeur intégré actuel, mais gardez la distinction Docker à l’esprit : le conteneur Frigate a toujours besoin de sa propre valeur shm_size, quelle que soit la quantité de mémoire partagée indiquée par l’hôte.