【发布时间】:2016-05-28 05:50:50
【问题描述】:
我正在测试我的 java 应用程序,我注意到 Java 64 位版本比在 Java 32 位版本中执行应用程序使用的更多。
我测试的服务器是 Windows 7-64 位和 Solaris-64 位,但在这两种情况下都发生了相同的行为。顺便说一句,应用程序使用默认的 VM 参数运行,使用的 Java 版本是 8u65s。
因为我的服务器是 64 位的,所以正确的选择应该是 Java 64 位,但是有什么理由吗?在什么情况下 32 位版本比 64 位版本好?
两者都分配的内存:
32-bit : 74mb
64-bit: 249mb
【问题讨论】:
-
您能否提供更多信息:您正在使用什么 JVM、您正在运行什么代码、您提供了哪些 JVM 标志,以及这种内存使用是即时的还是随时间推移的?仅凭提供的信息,我不确定我们能否很好地回答您的问题。
-
旁注:架构名称是 32/64 bit,而不是 bits
-
Java版本为8u65,两种情况下均未设置VM参数。我正在执行一个 Spring 应用程序,但其他应用程序也遇到了同样的行为。我通过 Windows 上的系统管理器看到了内存使用情况。
-
从以前的帖子中看到这个答案:stackoverflow.com/a/4408987/3299157
-
不要从外部看你的 JVM,使用从内部显示内存消耗的工具(VisualVM,...)
标签: java performance memory 32bit-64bit