
Dynamic memory handling.
On a machine where MariaDb is the primary service, I’d like to be able to set a variable in the config to tell it to use all the available memory apart from a sensible buffer.
Something like: dynamic_memory_resizing_margin = 512M (Default would be 0, which would disable this behaviour)
On startup, Maria would log in it’s primary log something like: “Dynamic Memory resizing in effect.” as a reminder to admins that it’s behaving in a non-standard way. It would also log if it was unable to resize down to its minimum footprint because, for example, something else was using more memory.
Maria would then periodically (1 min?) check free OS memory and increases innodb_buffer_pool_size (and possibly other buffers) to make best use of the VM’s memory.
Reasoning: I manage quite a few MariaDb instances on some 90 vms. These vary hugely between tiny databases, and huge, extremely busy databases. VM resources vary between 1Gb of ram up to 64gb. Currently I need to periodically review every server and adjust IBPS manually based on previous history. (We’ve had a lot of problem with malloc libraries allowing mariadb’s memory use to grow beyond what it should, so have very conservative margins to avoid ooms)
(I understand Mysql 8 has something that promised similar to this but I’m not sure of the details as we don’t use it)
Not even a dialog, just a variable in my.cnf that enables it, like setting ibps manually. (And there are other buffers that maria might benefit from some extra growth if it knows it has space)