У меня есть Tomcat с настроенным XMS=XMX
(4G оба).Как Java использует память XMX и XMS?
Но - что, если я установлю XMS
, например, 1G?
Как я понял - JVM начнет Tomcat с предоставленной 1G памяти. Затем, если приложение требует больше - JVM поднимет его до 4G за некоторый период. Поднять его - Java должен выполнить некоторые действия (изменить размер, переместить страницы в память?) - и это займет некоторое время и ресурсы ЦП, правильно?
Что произошло после Приложение Tomcat не нуждается в такой большой памяти? Java снова запускает действия для уменьшения используемой памяти?
Спасибо.
P.S. Почему я спрашиваю - с XMS=1G
и XMX=4G
Apache Jmeter дают результаты, которые намного меньше (Throughput
и Average
), чем если бы я начал Tomcat с XMX
и XMS
и 4G.
Возможный дубликат [Какие параметры Xms и Xmx при запуске JVM?] (Http://stackoverflow.com/questions/14763079/what-are-the-xms-and-xmx-parameters-when-starting- jvms) – dotancohen