Linux - Java - VM初始化期间发生错误

时间:2013-04-10 00:20:19

标签: java linux jvm

我已经经历了类似的问题,但没有一个人在我的设置中给出了正确的工作答案(其他问题的答案适用于Windows机器,64位)。

我有以下设置:

$ 
$ uname -a
Linux localhost.localdomain 3.8.4-102.fc17.i686 #1 SMP Sun Mar 24 13:20:55 UTC 2013 i686 i686 i386 GNU/Linux
$ 
$ java -version
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) Server VM (build 23.7-b01, mixed mode)
$ 
$ javac -version
javac 1.7.0_17
$ 
$ 
$ free -m
             total       used       free     shared    buffers     cached
Mem:          3520       3435         85          0        472       1531
-/+ buffers/cache:       1431       2089
Swap:         5567          0       5567
$ 
$ 
$ echo $JAVA_HOME 
/usr/java/jdk1.7.0_17
$ 
$ echo $PATH 
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/usr/java/jdk1.7.0_17/bin
$ 

尝试运行java程序时出现以下错误!

Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

我是否需要升级到64-bit OS并安装64-bit JVM?或者我应该使用更多RAM来升级我的硬件?

3 个答案:

答案 0 :(得分:1)

您需要检查是否定义了任何JAVA_OPTS:echo $JAVA_OPTS。你指定任何堆大小?

首先,您可以尝试为您的机器分配更多RAM。

其次,您可以尝试使用指定的MaxHeapSize和Xmx / Xms运行java命令。 查看Oracle文档中的Tuning the JVM heap sizes

答案 1 :(得分:1)

看着记忆,你只有85mb可用。在启动程序之前,您可能想要释放一些内存。另外,尝试使用以下命令行选项运行它: -Xmx512m-XX:MaxHeapSize=256m

答案 2 :(得分:1)

请访问Running java with JAVA_OPTS env variable,HEX规定您应设置_JAVA_OPTIONS变量。