从Make内启动JVM时出现内存不足错误

从Make内启动JVM时出现内存不足错误,jvm,makefile,Jvm,Makefile,我遇到了一个非常奇怪的问题。我可以独立启动Oracle JVM,但是当我通过GNUmake调用相同的命令时,我得到了一个错误 > java -Xmx2500m -version java version "1.7.0_09" Java(TM) SE Runtime Environment (build 1.7.0_09-b05) Java HotSpot(TM) Server VM (build 23.5-b02, mixed mode) > cat Makefile all:

我遇到了一个非常奇怪的问题。我可以独立启动Oracle JVM,但是当我通过GNU
make
调用相同的命令时,我得到了一个错误

> java -Xmx2500m -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) Server VM (build 23.5-b02, mixed mode)

> cat Makefile
all:
    java -Xmx2500m -version

> make
java -Xmx2500m -version
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.
make: *** [all] Error 1
顺便说一句,我能够通过一个shell脚本成功地启动具有相同参数的JVM。因此,关于
make
如何启动子进程,必须有一些特定的内容

我试图寻找解决办法,但没有成功


我的机器有6GB内存。操作系统是Ubuntu12.10 32位(虽然我有一台64位的机器,但我一直使用32位操作系统)。

试着减少生成文件的Xmx,看看两个Java是否是相同的版本。@Karussell好主意。我也试过了,它们都是相同的
java
。我甚至在Makefile中做了一个
which java
,它们在同一路径上。对于哪个Xmx设置maky java不会失败,而普通java会失败?那么,MB的区别是什么呢?可能有一些环境变量在这两个变量之间发生了变化(即类路径),并导致了一些微妙的问题。@Karussell maky java在1820米后崩溃了。奇怪的是,在1821m处,它给出了一个与通常不同的错误,并转储了一个日志文件: