我的客户端有一个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)。