现在,我们在服务器上有一个Tomcat实例,为它分配了大约55 to的内存。我们还在运行G1垃圾收集器。
我们在tomcat服务器上运行了许多主机,每个主机本身并没有很多通信量,但是它们加在一起就产生了相当大的流量。G1垃圾收集器每30秒左右调用一个混合GC,大约2秒(这就是我们配置的最大暂停时间,我们知道这太高了,并计划调整它)。
我的问题是,如果我将这些主机划分为同一台机器上的4x14gigtomcat实例,或者说,7x8gig实例将有助于提高垃圾收集的效率,并消除暂停或G1经常混合GC的需要。
总之,我的垃圾收集在许多小堆上比在一个大堆上更有效吗?
发布于 2015-04-11 19:03:31
很难对此给出“是”/“否”的回答:)
将应用程序拆分到tomcat的多个实例将使它们更易于维护。
Cons :-
Pros :-
OutOfMemoryException,所有其他应用程序仍在运行,您只需要重新启动/分析一个应用程序的堆转储,这比分析55gig堆容易得多:)因此,很明显,它有几个优点,但是您应该谨慎地这样做:)
https://stackoverflow.com/questions/29581557
复制相似问题