New Memory on Demand configuration parameter for Selectel cloud servers
One-line news: A new parameter has appeared for MoD, which allows more precise control of the server behavior at startup. It is called start_memory .
When the cloud server has finished loading and the Memory on Demand technology is turned on, the memory is adjusted depending on the amount of occupied memory. However, this technology is tied to an agent working inside the virtual machine, which sends information about the current memory usage to the mod-server (outside the virtual machine). Thus, the system will be able to respond to a lack of RAM only after starting the mod-agent (it starts along with the rest of the services when the cloud server loads). In some cases, there is a need to immediately start with a "high start", that is, from the very beginning to allocate a significant amount of memory.
By default, this value is set to static_min, that is, to a minimum amount. Now this value can be changed explicitly.
Three strategies for use can be distinguished:
If MoD technology is disabled, then this value allows you to manually change the current value of the allocated memory (ranging from static_max to static_min) without rebooting, which can be useful in technologies that do not like changing memory (Java, for example).
When the cloud server has finished loading and the Memory on Demand technology is turned on, the memory is adjusted depending on the amount of occupied memory. However, this technology is tied to an agent working inside the virtual machine, which sends information about the current memory usage to the mod-server (outside the virtual machine). Thus, the system will be able to respond to a lack of RAM only after starting the mod-agent (it starts along with the rest of the services when the cloud server loads). In some cases, there is a need to immediately start with a "high start", that is, from the very beginning to allocate a significant amount of memory.
By default, this value is set to static_min, that is, to a minimum amount. Now this value can be changed explicitly.
Three strategies for use can be distinguished:
- The server starts up with a minimum memory value, after which it begins to increase the amount of memory used as data is loaded or load increases. This is how cloud servers behave by default (for which the MoD setting has not changed).
- The server starts up with an overestimated value of memory, after which it quickly “deflates” to the desired server. This configuration protects against a lack of memory when suddenly requesting a large amount of memory for the DBMS or a large application that requests memory in large chunks, and not gradually.
- The amount of start memory is set to approximately the desired value - in this case, the mod works in fine tuning mode, that is, increases / decreases as circumstances change.
If MoD technology is disabled, then this value allows you to manually change the current value of the allocated memory (ranging from static_max to static_min) without rebooting, which can be useful in technologies that do not like changing memory (Java, for example).