-
Controller Versionv5.15.24.18 Describe Your Issue or QuestionHi, first of all, thank you for your amazing work on this image – it’s really appreciated. I'm using your Docker container to host the Omada controller on a Proxmox VM in my basement, and I run it in production to manage around 17 clients and over 100 devices. Everything was working fine initially, but recently I’ve been experiencing noticeable slowdowns in the web UI and performance issues when handling the load. After some analysis, I noticed that the Java process in the container is hard-limited to 1024MB of maximum heap memory (-Xmx1024m). I suspect this limitation might be the reason for these slowdowns, especially given the scale I’m working with. Expected BehaviorIdeally, the container should either: Automatically scale the Java heap memory according to available system memory, or Allow easy configuration (via an env var or documented method) to increase the memory cap for larger deployments. Steps to ReproduceRun the container with a mid- to large-scale network (100+ devices). Observe increasing slowness in the Omada web interface and higher CPU usage. Check Java memory with cat /proc/1/cmdline and see it is limited to -Xmx1024m. How You're Launching the Container
Container Logs
MongoDB LogsNo response Additional ContextI'm not looking to fork or modify the image, and I'd prefer to follow your supported setup. Is there an officially supported or recommended way to increase the Java heap memory for larger deployments like this one? Thank you again for your great work! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 8 replies
-
As configured right now, the way to modify it would be to override the CMD. I know that it is a bit annoying to have to do, especially since if there are modifications to the default CMD, you'd need to manage those but right now, that's what it is. The default is Longer term, I could look at other patterns for allowing setting either custom options with an env var or something but of course I also don't want to break anyone's controller config if they've also overwritten the default CMD. |
Beta Was this translation helpful? Give feedback.
-
*edit: see the next answer as there is a better way that overriding what is at the CLI |
Beta Was this translation helpful? Give feedback.
I did some more searching because I could have sworn there was a way to even override options set at the CLI and this stackoverflow answer had it. So there is one other way that is much easier to override it with the environment variable
_JAVA_OPTIONS
so something like:_JAVA_OPTIONS="-Xms512m -Xmx2048m"
set would override what is set on the command line so here is a compose example that does it that way: