At startup, MaxScale detects how many CPU cores and memory the system has and acts accordingly; e.g. starts as many routing threads as there are cores and uses at most 15% of the memory for the query classifier cache.
However, if MaxScale runs in a Docker container whose number of CPU cores and amount of memory has been restricted and is less than what the host system has, the detection does not work correctly as the numbers reported by the OS in the container are those of the host system and not what is available in the container.
Thus, in a restricted container MaxScale may attempt to use more resources than what is available, which may lead to performance and other issues.
MaxScale should detect when it is running in a container and adapt to the resources available in the container.