1个50GB Ram或20个Tomcat,每个Ram 2.5GB?

我的客户端有一个64位内存的Windows 2008networking服务器。

我必须将公司的系统(运行在Java上)部署到服务器上,并连接到其现有的Itanium数据库。

分配这么大的内存是有原因的,因为我们的系统利用大量的内存将信息写入数据库,而将数据保存在内存中以便快速访问。 类似于EHCache的产品。

过去的经验引起关注:

“为了使Java高效工作,每个Java实例应该保持在2GB左右,否则Java垃圾收集器活动将会终止响应时间”

对于最新的JDK 1.6,上述问题仍然存在,还是这个问题适用?

在使用JDK 1.4时,我通过部署less量内存不超过2GB的Web服务器来缓解Java内存大小限制。

我应该只运行一个大型服务器还是多个服务器,每个服务器都有〜2GB或者RAM?

我build议混合你的select。 想象一下,重新启动fat tomcat,当它回来的时候会产生一些停机时间和缓慢的时间。

我build议你保持稳定的应用程序在一个tomcat与更多的内存,另一个需要更多的关注/频繁变化分开。

换句话说,这个方法应该由稳定性/服务质量来驱动,而不是由商品驱动(想象重新启动20个tomcats)。