[英]Linux :Can't start up: not enough memory
我编写了一个小型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`
小型 Java应用程序真的需要2GB的内存吗? 值-Xmx2G告诉jmv为您的应用程序保留2GB的内存。 如果不可用,它将无法正常工作。
如果不需要2GB,请考虑删除该值或降低它。
对于基于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
阅读有关在Red Hat Enterprise Linux上安装OpenJDK的更多信息。
确认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应用程序。
2G堆分配非常大,在某些32位JVM上,它的大小超出了允许的范围。
尝试将堆分配减小到较小的值(使用-Xmx
),或使用64位JVM(可以具有更大的堆)。
如果这不是资源问题,请尝试减小Xmx标志的值。 在这里看看。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.