Когда облачный сервер закончил загрузку и технология Memory on Demand включена, то память регулируется в зависимости от объёма занятой памяти. Однако, эта технология завязана на агент, работающий внутри виртуальной машины, который отсылает информацию о текущем использовании памяти mod-серверу (за пределами виртуальной машины). Таким образом, отреагировать на нехватку оперативной памяти система сможет только после запуска mod-агента (он стартует вместе с остальными сервисами при загрузке облачного сервера). В некоторых же случаях есть необходимость сразу начинать с «высокого старта», то есть с самого начала выделять значительный объём памяти.
По умолчанию это значение выставляется в значение static_min, то есть в минимальный объём. Теперь это значение можно менять в явном виде.
Можно выделить три стратегии использования:
- Сервер запускается с минимальным значением памяти, после чего начинает увеличивать объём используемой памяти по мере загрузки данных или увеличения нагрузки. Так себя ведут облачные серверы по умолчанию (для которых настройка MoD не менялась).
- Сервер запускается с завышенным значением памяти, после чего быстро «сдувается» до нужного серверу. Такая конфигурация защищает от нехватки памяти при внезапном запросе большого объёма памяти СУБД или крупным приложением, которое запрашивает память крупными кусками, а не постепенно.
- Объём стартовой памяти выставляется примерно в нужное значение — в этом случае mod работает в режиме тонкой подстройки, то есть увеличивает/уменьшает по мере изменения обстоятельств.
Если же технология MoD отключена, то это значение позволяет вручную менять текущее значение выделенной памяти (в пределах от static_max до static_min) без перезагрузки, что может быть полезно в условиях технологий, которые не любят изменяющуюся память (Java, например).
ссылка на оригинал статьи http://habrahabr.ru/company/selectel/blog/180331/
Добавить комментарий