Om Frigate rapporterar att den aktuella storleken på det delade minnet endast är 64 MB, ökar du containerns shm_size i Docker Compose-tjänstens definition. Lägg inte till shm_size som en miljövariabel; Docker Compose behandlar den som en inställning på tjänstenivå som styr containerns /dev/shm.
Användaren såg en rekommendation på minst 306 MB på en ZimaBoard 2. Det exakta värdet beror på arbetsbelastningen, så kopiera mekanismen i stället för att blint kopiera ett visst tal. Antalet kameror, upplösningen och antalet avkodade bildrutor påverkar alla Frigates behov av delat minne.
Varför Frigate ser 64 MB som standard
Docker-containrar startar ofta med ett relativt litet filsystem för delat minne. Frigate använder /dev/shm för råa, avkodade videobildrutor, så kamerabelastningar kan överskrida standardvärdet även när värdsystemet har gott om ledigt RAM.
Varningen gäller därför containerns tilldelning av delat minne, inte bara systemets totala minne. Att lägga till mer fysiskt RAM utökar inte automatiskt containerns /dev/shm utan att containerinställningen ändras.
shm_size är inte en miljövariabel
I ett felsökningsförsök på forumet försökte man lägga till shm_size i avsnittet med miljövariabler. En annan deltagare påpekade korrekt att detta inte konfigurerar Dockers montering för delat minne.
Docker Compose definierar shm_size direkt under tjänsten, tillsammans med inställningar som avbild, omstartspolicy, volymer och enheter. Dockers aktuella Compose-referens anger att fältet konfigurerar storleken på tjänstens /dev/shm.
Referens för Docker Compose shm_size är den auktoritativa syntaxkällan.
Redigera YAML-filen för Frigate-tjänsten
Tråden använde ett värde på tjänstenivå som motsvarade ungefär 1 GB i byte. Aktuella Compose-tolkar och Frigate-exempel stöder även läsbara storlekar. En förenklad struktur ser ut så här:
services:
frigate:
image: ...
shm_size: "512mb"
...
Behåll fältet på samma indenteringsnivå som tjänstens övriga körningsinställningar. Om en viss version av ZimaOS eller en viss redigerare avvisar en läsbar enhet kan byteformatet från communitytråden användas som kompatibilitetsalternativ; det viktiga är att inställningen hör till Compose-tjänsten, inte till environment:.
Välj ett värde för din faktiska kamerabelastning
Frigates aktuella dokumentation förklarar att behovet av delat minne beror på bilddimensioner och buffrade bildrutor. Den aktuella exempel-Compose-filen använder en större tilldelning än Dockers standardvärde och innehåller vägledning för uppskattning av behovet.
Ange inte ett godtyckligt stort värde utan anledning. Öka det tillräckligt för att varningen ska försvinna under den verkliga arbetsbelastningen, starta om eller återskapa containern så att körningsinställningen tillämpas och kontrollera sedan den effektiva storleken inifrån den körande containern.
Aktuell installationsvägledning för Frigate bör prioriteras framför ett fast värde från tråden från 2026.
Redigeringsarbetsflödet i ZimaOS beror på version
Det ursprungliga inlägget skrevs när användaren körde ZimaOS 1.6.0 beta. Ett svar från IceWhale påpekade också att beteendet för delat minne på värden i 1.5.4 skilde sig från det användaren såg, vilket skapade ytterligare förvirring mellan värd- och containerinställningar.
Aktuella ZimaOS 1.7.x erbjuder inbyggd YAML-redigering, och 1.7.1 förbättrade specifikt kompatibiliteten vid sparande av YAML. Använd den aktuella appredigeraren när det är möjligt, men behåll åtskillnaden i Docker: Frigate-containern behöver fortfarande ett eget värde för shm_size, oavsett hur mycket delat minne värden rapporterar.
