diff --git a/docs/docs/frigate/installation.md b/docs/docs/frigate/installation.md index 72b2c9ef2..f5afc37c9 100644 --- a/docs/docs/frigate/installation.md +++ b/docs/docs/frigate/installation.md @@ -74,17 +74,29 @@ database: ### Calculating required shm-size -Frigate utilizes shared memory to store frames during processing. The default `shm-size` provided by Docker is 64m. +Frigate utilizes shared memory to store frames during processing. The default `shm-size` provided by Docker is **64MB**. -The default shm-size of 64m is fine for setups with 2 or less 1080p cameras. If Frigate is exiting with "Bus error" messages, it is likely because you have too many high resolution cameras and you need to specify a higher shm size. +The default shm size of **64MB** is fine for setups with **2 cameras** detecting at **720p**. If Frigate is exiting with "Bus error" messages, it is likely because you have too many high resolution cameras and you need to specify a higher shm size. -You can calculate the necessary shm-size for each camera with the following formula using the resolution specified for detect: +The Frigate container also stores logs in shm, which can take up to **30MB**, so make sure to take this into account in your math as well. -``` -(width * height * 1.5 * 9 + 270480)/1048576 = +You can calculate the necessary shm size for each camera with the following formula using the resolution specified for detect: + +```console +# Replace and +$ python -c 'print("{:.2f}MB".format(( * * 1.5 * 9 + 270480) / 1048576))' + +# Example for 1280x720 +$ python -c 'print("{:.2f}MB".format((1280 * 720 * 1.5 * 9 + 270480) / 1048576))' +12.12MB + +# Example for eight cameras detecting at 1280x720, including logs +$ python -c 'print("{:.2f}MB".format(((1280 * 720 * 1.5 * 9 + 270480) / 1048576) * 8 + 30))' +126.99MB ``` -The shm size cannot be set per container for Home Assistant Addons. You must set `default-shm-size` in `/etc/docker/daemon.json` to increase the default shm size. This will increase the shm size for all of your docker containers. This may or may not cause issues with your setup. https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file +The shm size cannot be set per container for Home Assistant add-ons. However, this is probably not required since by default Home Assistant Supervisor allocates `/dev/shm` with half the size of your total memory. If your machine has 8GB of memory, chances are that Frigate will have access to up to 4GB without any additional configuration. + ### Raspberry Pi 3/4