在Oracle的G1 GC文档中,G1 GC不建议调整JVM选项,因为吞吐量和延迟稳定。
但是,我在文档中找不到一个页面,指出服务器堆大小应该如何合适。 服务器的用途和通信量各不相同。 它可以是简单的Restful API,也可以是耗时的任务。 因此,堆大小应根据服务器应用程序而有所不同。 另外,如果堆大小不足,则Full GC将发生多次,并最终导致严重的问题。
答案 0 :(得分:1)
我会
如何确定合适的初始堆大小?
应用程序几乎立即增长到什么大小?如果您以更大的尺寸进行基准测试,会有所帮助吗?
什么时候应该增加堆大小?
在确定您的应用程序没有内存泄漏并且经过合理调整后,服务器需要更多内存,或者如果有更多内存,则运行速度会更快。
是否有监视异常迹象的方法和工具?
对于可以连续运行的工具,可以从jstat
开始