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 提供了值,这有助于获得更好的结果。
我们的应用程序在加载约 24 小时后显示频繁的 Full GC。强制重启。
当我们分析我们的 GC 日志时,它表明在 20GB 的 MaxHeap 中,只有 1GB 用于年轻代,19GB 用于 OLD 代。
命令选项为 -Xms2g -Xmx20g
应该将 -Xms2g
提高到 10GB 还是等于 20GB 以便 NewRatio
默认比率 2 可以让年轻代使用 JVM 的更大部分?
使用 jmap -histo
监视 JVM 堆,发现堆大小出现峰值时的模式。
还尝试使用 http://gceasy.io
实际上,一些休眠实体堆积在事务中,这是代码中的一个问题。
已在代码中更正它,它确实有助于控制堆而不是峰值。
另一方面,观察到虽然没有指定New-Old ratio,所以JVM应该使用1:2 ratio,但事实并非如此。 因此专门为 NewSize 和 MaxNewSize 提供了值,这有助于获得更好的结果。