JVM 调优选项

JVM Tuning options

我们的应用程序在加载约 24 小时后显示频繁的 Full GC。强制重启。

当我们分析我们的 GC 日志时,它表明在 20GB 的 MaxHeap 中,只有 1GB 用于年轻代,19GB 用于 OLD 代。

命令选项为 -Xms2g -Xmx20g

应该将 -Xms2g 提高到 10GB 还是等于 20GB 以便 NewRatio 默认比率 2 可以让年轻代使用 JVM 的更大部分?

使用 jmap -histo 监视 JVM 堆,发现堆大小出现峰值时的模式。 还尝试使用 http://gceasy.io

进行 GC 日志分析

实际上,一些休眠实体堆积在事务中,这是代码中的一个问题。

已在代码中更正它,它确实有助于控制堆而不是峰值。

另一方面,观察到虽然没有指定New-Old ratio,所以JVM应该使用1:2 ratio,但事实并非如此。 因此专门为 NewSize 和 MaxNewSize 提供了值,这有助于获得更好的结果。