问题描述
我们在 64 位 Linux 2.6 服务器上运行 32 位 Sun Java 5 JVM,但显然这将我们每个进程的最大内存限制为 2GB.所以有人建议我们升级到 64 位 JVM 以取消限制.我们目前在服务器上运行多个 JVM(Tomcat 实例)以保持在 2GB 的限制内,但我们希望将它们整合以简化部署.
We run the 32-bit Sun Java 5 JVM on 64-bit Linux 2.6 servers, but apparently this limits our maximum memory per process to 2GB. So it's been proposed that we upgrade to the 64-bit JVM's to remove the restriction. We currently run multiple JVM's (Tomcat instances) on a server in order to stay under the 2GB limit, but we'd like to consolidate them in the interest of simplifying deployment.
如果你已经这样做了,你能分享你的经验吗?您是否在生产中运行 64 位 JVM?您会建议继续使用 Java 5,还是可以同时迁移到 Java 6 和 64 位?我们应该期待性能问题,更好还是更糟?我们的回归测试是否应该重点关注哪些特定领域?
If you've done this, can you share your experiences, please? Are you running 64-bit JVM's in production? Would you recommend staying at Java 5, or would it be ok to move to both Java 6 and 64 bits simultaneously? Should we expect performance issues, either better or worse? Are there any particular areas we should focus our regression testing?
感谢您的建议!
推荐答案
在 Kepler 科学运营中心,我们有大约50台机器,每台32-64G.JVM 堆通常为 7-20G.我们使用的是 Java 6.操作系统具有 Linux 2.6 内核.
At the Kepler Science Operations Center we have about 50 machines with 32-64G each. The JVMs heaps are typically 7-20G. We are using Java 6. The OS has Linux 2.6 kernel.
当我们迁移到 64 位时,我预计运行 64 位 JVM 会出现一些问题,但实际上并没有.内存不足的情况更难调试,因为堆转储要大得多.Java 服务包装器需要一些修改以支持更大的堆大小.
When we migrated to 64bit I expected there would be some issues with running the 64-bit JVM But really there have not been. Out of memory conditions are more difficult to debug since the heap dumps are so much larger. The Java Service Wrapper needed some modifications to support larger heap sizes.
网络上有一些网站声称 GC 的扩展能力不能超过 2G,但我没有发现任何问题.最后,我们正在做吞吐量密集型而不是交互密集型计算.我从未研究过延迟差异;我的猜测是在最坏的情况下,更大的堆大小会导致 GC 延迟更长.
There are some sites on the web claiming GC does not scale well past 2G, but I've not seen any problems. Finally, we are doing throughput intensive rather interactive intensive computing. I've never looked at latency differences; my guess is worst case GC latency will be longer with the larger heap sizes.
这篇关于在 64 位 Linux 服务器上运行 64 位 JVM 的优点/缺点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!