32位与64位JVM性能考虑因素?

时间:2010-03-16 18:11:14

标签: 64-bit jvm

我们的生产环境在每台Windows 2003服务器上运行3个32位Java 6 JVM。每个堆都处于最大设置(~1.25GB)。我们正在考虑迁移到新服务器并使用64位JVM。据推测,我们可以在每台服务器上安装一个64位JVM,以替换每台服务器上的3个32位JVM,因为在使用64位JVM时允许更大的堆大小。

任何人都这样做并且有任何经验教训吗?

我特别关注任何性能考虑以及如何补偿。

2 个答案:

答案 0 :(得分:1)

内存需求将会增加,因为在64位架构上寻址对象会更加昂贵。多少取决于您的应用程序。假设您没有散列4 gb的整数......那么狂野的猜测将是10%-20%。

您可能还会遇到记录器,线程池,连接池,单例等中的锁争用问题。如果您的应用程序是以数据库为中心的,那么可能不是问题,但是 - 例如 - 您的应用程序存储了很多在地图中的会话,以及大量映射的访问,您可能会遇到问题。根据我的经验,争论“墙”可以相当快。

然而,只有一种方法可以知道:...测试它。

答案 1 :(得分:0)

我没有这样做,但只要您不依赖任何没有64位版本的32位JNI代码,这应该是完全正常的。如果您使用的只是纯Java,那么应该没有问题。