现在我们的服务器上有一个Tomcat实例,分配了大约55 GB的内存。我们也在运行G1垃圾收集器。
我们在tomcat服务器上运行了很多主机,每个主机本身没有很多流量,但所有这些主机总共加起来有相当大的流量。 G1垃圾收集器每隔30秒左右调用一次混合GC大约2秒钟(这就是我们的最大暂停时间配置为,我们知道它太高并计划调整它)。
我的问题是,如果我将这些主机拆分到同一台机器上的4 x 14 gig tomcat实例,或者说,7 x 8 gig实例将有助于提高垃圾收集效率并消除暂停或需要用于G1以经常混合GC。
总之,我的垃圾收集在许多小堆上会比在一个大堆上更有效吗?
答案 0 :(得分:1)
很难给出一个是/否答案:)
跨多个tomcat实例拆分应用程序将使它们更易于维护。
缺点: -
优点: -
OutOfMemoryException
由于意外的流量,所有其他
应用程序仍在运行,您只需要重新启动/分析
只有一个应用程序的堆转储,这使事情变得容易
分析55 gig堆:)显而易见,它有几个优点,但你应该谨慎行事:)