我目前在SL4集群上使用Sun的Java 1.6。在Linux上定义的默认JVM堆大小(SL4)
出于某种原因,1.6 JVM正在启动与不可能大堆,而无法启动:
java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
如果我与例如启动它-Xmx1800M,那么它工作正常。所以,我想知道默认堆大小的设置,更重要的是如何改变它?
该机器拥有8GB的物理内存,我相信Sun的服务器JVM应该默认启动一半512M的内存,但显然并非如此,因为它试图分配超过1800M。
编辑:我意识到它可以使用_JAVA_OPTIONS,但是这感觉有点笨拙;我期待在某处有一个属性文件,但到目前为止我一直无法找到它。
32或64位VM? VPS? 64位操作系统的权利?这有帮助吗? http://forum.openvz.org/index.php?t=msg&goto=7057 – cletus 2009-10-30 12:06:34
> uname -a Linux eddie004 2.6.18-128.7.1.el5#1 SMP Mon Aug 24 08:12:52 EDT 2009 x86_64 x86_64的x86_64的GNU/Linux的 我得到同样的行为,有或没有-d64(和-server): > Java虚拟机 的初始化过程中出现-d64 -version 误差对象堆无法保留足够的空间 无法创建Java虚拟机。 链接很好;我认为这一定是因为机器有8G的物理内存,但每个用户只允许2G使用它,这会让JVM产生与规范不同的行为。 – 2009-10-30 12:14:47
对不起,该评论格式不正确。这是一个64位的操作系统,使用-d64并没有什么区别,服务器也没有。 这可能与8G的机器有关,但限制用户为2G – 2009-10-30 13:08:36