我的服务器应用程序生成了许多年轻的对象,因此我认为伊甸园和幸存者空间填充得相当快,这导致频繁的GC运行。
我的目标是每天少跑一次,即使他们需要几秒钟。
您如何调整此目标的JVM?
我应该使用哪种GC? (高达G1 )。
可用堆空间大约为4Gb(-Xmx4G)
答案 0 :(得分:0)
在你的情况下,它会触发频繁的次要gc。您应该使用"-XX:NewRatio=ratio"
NewRatio这将决定老一代和年轻一代之间的比例。
例如-XX:NewRatio = 3意味着老一代与年轻一代之间的比例是1:3,伊甸园和幸存者空间的总和将是堆的四分之一。
此外,您可以使用NewSize和MaxNewSize来微调Eden和Survivor空间,这些参数控制新一代的最小和最大尺寸。
默认情况下,NewRation = 2表示旧一代与年轻一代的比例为1:2。
您可以阅读更多详情here