Linux:无法启动:内存不足

时间:2012-03-09 13:07:53

标签: java linux

我写了一个小的java应用程序,并编写了一个小的linux脚本来在Linux服务器下执行这个Java程序。

但是当我试图运行这个linux脚本时,我收到此错误

无法启动:内存不足

有人可以帮我解决这个问题吗?

这是我的剧本

echo "Start time: " `date`

SERVER_HOME=$HOME/

export CLASSPATH=.:

export CLASSPATH=$CLASSPATH$SERVER_HOME/home/kiran/apiToplist/lib/*:

echo $CLASSPATH


java -cp $CLASSPATH -Xmx2G com.tata.samples.QuoteData
echo "End time: " `date`

4 个答案:

答案 0 :(得分:5)

对于小型 java应用程序,您真的需要2GB内存吗?值-Xmx2G告诉jmv为您的应用程序保留2GB内存。如果没有,则不起作用。

如果不需要2GB,请考虑删除该值或将其降低。

答案 1 :(得分:2)

对于基于Red Hat的系统,请检查您是否使用GNU libgjc:

java -version

java version "1.5.0"
gij (GNU libgcj) version 4.4.7 20120313 (Red Hat 4.4.7-3)

安装OpenJDK为我解决了这个问题:

yum install java-1.7.0-openjdk-devel

详细了解Installing OpenJDK on Red Hat Enterprise Linux

确认java已更新:

java -version

java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)

启动你的java应用程序。

答案 2 :(得分:1)

2G堆分配非常大,并且在某些32位JVM上,它比允许的大。

尝试将堆分配减少到更小的值(使用-Xmx),或使用64位JVM(可以有更大的堆)。

答案 3 :(得分:0)

如果这不是资源问题,请尝试减少Xmx标志的值。看看here

相关问题