Soluzione della community

Risolvi l’avviso di memoria condivisa da 64 MB di Frigate su 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.

Se Frigate segnala che la dimensione attuale della memoria condivisa è di soli 64 MB, aumenta shm_size del container nella definizione del servizio Docker Compose. Non aggiungere shm_size come variabile d’ambiente: Docker Compose la gestisce come impostazione di runtime a livello di servizio che controlla /dev/shm del container.

L’utente ha visto una raccomandazione di almeno 306 MB su ZimaBoard 2. Il valore esatto dipende dal carico di lavoro, quindi copia il meccanismo e non un numero alla cieca. Il numero di telecamere, la risoluzione e la quantità di fotogrammi decodificati influiscono sul fabbisogno di memoria condivisa di Frigate.

Perché Frigate vede 64 MB per impostazione predefinita

I container Docker vengono comunemente avviati con un filesystem di memoria condivisa relativamente piccolo. Frigate usa /dev/shm per i fotogrammi video grezzi decodificati, quindi i carichi di lavoro con le telecamere possono superare il valore predefinito anche quando sul sistema host è disponibile molta RAM.

L’avviso riguarda quindi l’allocazione della memoria condivisa del container, non semplicemente la memoria totale del sistema. Aggiungere RAM fisica senza modificare l’impostazione del container non aumenta automaticamente /dev/shm del container.

shm_size non è una variabile d’ambiente

In una delle procedure di risoluzione dei problemi del forum si è provato ad aggiungere shm_size nella sezione delle variabili d’ambiente. Un altro partecipante ha correttamente osservato che questa operazione non configura il mount della memoria condivisa di Docker.

Docker Compose definisce shm_size direttamente sotto il servizio, insieme a impostazioni come immagine, criterio di riavvio, volumi e dispositivi. La documentazione di riferimento attuale di Compose per Docker afferma che questo campo configura la dimensione di /dev/shm del container del servizio.

Riferimento Docker Compose per shm_size è la fonte autorevole per la sintassi.

Modifica lo YAML del servizio Frigate

La discussione usava un valore a livello di servizio equivalente a circa 1 GB in byte. Gli attuali parser Compose e gli esempi di Frigate supportano anche dimensioni leggibili. Una struttura semplificata è simile alla seguente:

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

Mantieni il campo allo stesso livello di indentazione delle altre impostazioni di runtime del servizio. Se una determinata versione di ZimaOS o un editor rifiuta un’unità leggibile, il formato in byte usato nella discussione della community è un’alternativa compatibile; il punto importante è che l’impostazione appartiene al servizio Compose, non a environment:.

Impostazioni dell’app personalizzata ZimaOS usate per accedere alla configurazione Compose di Frigate
La discussione originale è passata dalle normali impostazioni dell’app alla configurazione Compose/YAML.
Finestra di dialogo Importa Docker Compose di ZimaOS mostrata durante la configurazione della memoria condivisa di Frigate
Il flusso di lavoro dell’aprile 2026 usava l’importazione Compose; le versioni più recenti di ZimaOS offrono una modifica YAML più diretta.

Scegli un valore adatto al carico di lavoro effettivo delle tue telecamere

La documentazione attuale di Frigate spiega che il fabbisogno di memoria condivisa dipende dalle dimensioni dell’immagine e dai fotogrammi memorizzati nel buffer. L’attuale file Compose di esempio usa un’allocazione maggiore rispetto al valore predefinito di Docker e fornisce indicazioni per stimare i requisiti.

Non impostare un valore arbitrariamente enorme senza motivo. Aumentalo quanto basta per eliminare l’avviso durante il carico di lavoro reale, quindi riavvia o ricrea il container affinché l’impostazione di runtime venga applicata e verifica la dimensione effettiva dall’interno del container in esecuzione.

Indicazioni attuali per l’installazione di Frigate dovrebbero avere la precedenza rispetto a un valore fisso tratto dalla discussione del 2026.

Il flusso di modifica di ZimaOS varia in base alla versione

Il post originale è stato pubblicato quando l’utente utilizzava una versione beta di ZimaOS 1.6.0. Una risposta di IceWhale ha inoltre segnalato che il comportamento della memoria condivisa lato host nella versione 1.5.4 differiva da quello osservato dall’utente, creando ulteriore confusione tra le impostazioni dell’host e quelle del container.

Le versioni attuali di ZimaOS 1.7.x offrono la modifica YAML nativa e la versione 1.7.1 ha migliorato in modo specifico la compatibilità del salvataggio YAML. Quando possibile, usa l’editor dell’app attuale, ma mantieni distinta la configurazione Docker: il container Frigate necessita comunque di un proprio valore shm_size, indipendentemente dalla quantità di memoria condivisa segnalata dall’host.