Hey everyone!
I have been self-hosting metabase since 2019, but only recently have I been overwhelmed with out of memory errors from Metabase.
Currently I run it into AWS ECS on a t3.medium (3.9GB) with Amazon Linux 3, leaving 500MB for the OS and 3.4GB for the Metabase container. We use the official image (metabase/metabase:v0.50.7
). Metabase stores its own data on postgres and we configure it with JAVA_OPTS="-Xmx2800m"
, leaving around 600MB for non-heap memory.
Those seems like very reasonable values to me but I am no expert in such JVM tunning.
We have somewhat "busy" dashboards which render a lot of questions simultaneously, but it crashes with as few as a single user navigating through those dashboards. The backend is a BigQuery warehouse and no significant amount of data is sent as query results, at least nothing out of the ordinary.
The only thing out of the ordinary that I noticed are the huge amount of threads started by Metabase on the clojure-agent-send-off-pool
, which should definitely hurt non-heap memory.
Could you guys shed some light into this problem? What is the ideal value for JVM_OPTS? What kind of logs would be useful for me to share?
Thank you very much
Heitor