Я пытался понять различные параметры, используемые для определения JVM Размер кучи.Как размер молодого поколения будет изменен?
<jdkarg value="-Xmx20000M"/>
<jdkarg value="-Xms10000M"/>
<jdkarg value="-XX:NewSize=2500M"/>
<jdkarg value="-XX:NewRatio=1"/>
<jdkarg value="-XX:MaxNewSize=5000"/>
Вот я знаю, что смысл этих jdkarg, что делает меня замешательство, я где-то читал, что если я определяю -XX: NewSize и -XX: NewRatio и затем в то время как заявив, что jvm выделит размер молодого поколения, используя -XX: NewSize не -XX: NewRatio.
Так вот у меня есть некоторые вопросы по поводу этого:
- Когда мы определяем -XX: NewSize и -XX: NewRatio то начальный размер молодое поколение будет определять с помощью -XX: NewSize , это правильно?
- Что произойдет, когда Heap увеличение размера к нему Макс в этом случае 20000m, то как определить максимальный размер молодого поколения, он будет использовать -MaxNewSize или -XX: NewRatio или ни один из них не будет использоваться, как я -XX: NewSize?
Я пробовал много поискового запроса, но не нашел никакого заключения. Любая помощь для понимания этих аргументов будет оценена по достоинству.
Update:
выход я получаю не как ожидалось:
S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT
426624.0 426624.0 0.0 426624.0 1706752.0 1013097.7 17920000.0 7208855.8 137032.0 82118.0 1952 130.126 24 20.441 150.567
Здесь я получаю Старый пространство в 17920000 т.е. 17500 МБ и молодого пространства как 2500 Мб, которая была моей начальной ценностью.
Вы должны добавлять только настраивающие арфы, которые, как вы знаете, помогут. Я предлагаю вам придерживаться '-Xmx10g -Xmx20g', если вы не знаете, какие другие параметры необходимы. –