我有一个安装Linux服务器的请求(最好是Ubuntu 64bit服务器), 和以下机器上的Java(64位):
问题是如何配置系统和Java,因为我需要JVM使用超过4GB的内存。
它无法在许多虚拟机上分发。有超过4GB的数据 它必须在内存中,因为硬盘速度慢,性能至关重要。
这是一个配置和性能问题,如果有人有经验,我对评论感兴趣吗?
非常感谢你帮助我...
答案 0 :(得分:10)
64位JVM应该没有任何问题,因为巨型堆肯定比可用内存大得多。只需在启动JVM时增加堆大小,例如:
java -Xmx6g
您曾经必须指定64位标志(使用-d64
),但我不认为这是必要的。
32位JVM可以管理3GB的堆。
答案 1 :(得分:1)
skaffman的回答提供了分配6GB内存所需的标志是正确的。如果'g'没有做到这一点,你可能想尝试6000米(查看下面的链接了解有关标志/平台的详细信息)
对于其他选项,您可以在此处找到有关Java HotSpot VM的所有可用选项的有用信息。
http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp
(可提供行为和表现选项。此页面也提供平台特定链接)
答案 2 :(得分:0)
还要特别注意数据如何存储在内存中。同样,由于指针等的开销较高,64位JDK非常渴望内存。所以如果你在一些数据结构中以小块分配这些4Gb,那么8Gb是不够的。
答案 3 :(得分:-1)
如果您安装了64位Ubuntu,我相信
sudo apt-get install sun-java6-jdk
为您提供64位Java。
编辑:64位Java可以通过适当的开关为您提供所需的内存。限制是使用32位JVM,根据操作系统的不同,它不能超过2-4 Gb。