Новый параметр настройки Memory on Demand для облачных серверов Selectel
![Тирекс](https://selectel.ru/blog/wp-content/uploads/2023/05/T-Rex_Autor-3-400x400.png)
Для Memory on Demand появился новый параметр, позволяющий более точно контролировать поведение сервера при включении. Называется он start_memory. Когда облачный сервер закончил загрузку и технология Memory on Demand включена, то память регулируется в зависимости от объёма занятой памяти. Однако, эта технология завязана на агент, работающий внутри виртуальной машины, который отсылает информацию о текущем использовании памяти […]
![Изображение записи](https://selectel.ru/blog/wp-content/uploads/2013/05/mem_consumption_preview.png)
Для Memory on Demand появился новый параметр, позволяющий более точно контролировать поведение сервера при включении. Называется он start_memory.
Когда облачный сервер закончил загрузку и технология Memory on Demand включена, то память регулируется в зависимости от объёма занятой памяти. Однако, эта технология завязана на агент, работающий внутри виртуальной машины, который отсылает информацию о текущем использовании памяти mod-серверу (за пределами виртуальной машины). Таким образом, отреагировать на нехватку оперативной памяти система сможет только после запуска mod-агента (он стартует вместе с остальными сервисами при загрузке облачного сервера). В некоторых же случаях есть необходимость сразу начинать с “высокого старта”, то есть с самого начала выделять значительный объём памяти.
По умолчанию это значение выставляется в значение static_min, то есть в минимальный объём. Теперь это значение можно менять в явном виде.
Можно выделить три стратегии использования:
- Сервер запускается с минимальным значением памяти, после чего начинает увеличивать объём используемой памяти по мере загрузки данных или увеличения нагрузки. Так себя ведут облачные серверы по умолчанию (для которых настройка MoD не менялась).
- Сервер запускается с завышенным значением памяти, после чего быстро “сдувается” до нужного серверу. Такая конфигурация защищает от нехватки памяти при внезапном запросе большого объёма памяти СУБД или крупным приложением, которое запрашивает память крупными кусками, а не постепенно.
- Объём стартовой памяти выставляется примерно в нужное значение – в этом случае mod работает в режиме тонкой подстройки, то есть увеличивает/уменьшает по мере изменения обстоятельств.
Если же технология Memory on Demand отключена, то это значение позволяет вручную менять текущее значение выделенной памяти (в пределах от static_max до static_min) без перезагрузки, что может быть полезно в условиях технологий, которые не любят изменяющуюся память (Java, например).
![Memory on Demand для облачных серверов Selectel Memory on Demand для облачных серверов Selectel](https://selectel.ru/blog/wp-content/uploads/2013/05/start_memory.jpg)