我正在为我的Java应用程序微调我的内存参数。我打算将伊甸园的空间大小减小到最佳值。

我想知道在年轻一代GC周期中幸存下来并晋升为终身一代的对象(在年轻一代中创建的)的百分比。您能推荐一种可以为我做到的工具吗?

我的假设是,如果目前,假设我的年轻基因大小为x,幸存的年轻基因周期的对象百分比为y,并且如果我将年轻基因减少5 GB到x-5,并且是否存在幸存的对象百分比年轻一代的周期仍然接近y,因此我可以安全地将我的年轻一代的大小减小到x-5。

如果您有相同的输入,请告诉我。

谢谢

最佳答案

调整伊甸园空间的大小:


您需要计算分配率(请参见Advanced JVM Tuning)来确定您的伊甸园空间的大小。
同样,完全GC后,“年轻一代”总量-Xmn应该是OldGen空间占用率的1倍至1.5倍(如Java Performance中所述)。


调整幸存者空间:


您需要观看“提升率”(再次参见Advanced JVM Tuning),因此您不会通过减小Survivor / Eden空间来使FullGC过于频繁,
-XX:+PrintTenuringDistribution是必不可少的,这将向您显示保有权年龄,
要真正调整幸存者大小,将需要-XX:SurvivorRatio=-XX:TargetSurvivorRatio=-XXMaxTenuringThreshold=
有关更多信息,请参见Request for documentation of -XX:+PrintTenuringDistribution output

关于java - 在年轻一代GC中存活下来的物体所占的百分比?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15334815/

10-08 22:54