我已经经历了类似的问题,但没有一个人在我的设置中给出了正确的工作答案(其他问题的答案适用于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
来升级我的硬件?
答案 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变量。