Java:查找OutOfMemoryError的原因
我正试图在我的终端中构建一个Java应用程序(我正在使用Eclipse,但终端只是为了看看它是否有效),我一直被以下消息所困扰:Java:查找OutOfMemoryError的原因,java,maven,out-of-memory,.bash-profile,Java,Maven,Out Of Memory,.bash Profile,我正试图在我的终端中构建一个Java应用程序(我正在使用Eclipse,但终端只是为了看看它是否有效),我一直被以下消息所困扰: Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "main" 建议我将这一行代码添加到我的.profile(我有一个.bash_概要文件,但没有.profile),所以我做了: MAVEN_OPTS="-XX:MaxPermSiz
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "main"
建议我将这一行代码添加到我的.profile(我有一个.bash_概要文件,但没有.profile),所以我做了:
MAVEN_OPTS="-XX:MaxPermSize=512m"
但我还是发现了错误。下面是我的.bash_配置文件的外观:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
MAVEN_OPTS="-XX:MaxPermSize=512m"
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
export PATH=$PATH:/usr/local/mysql/bin
##
# Your previous /Users/tom.maxwell/.bash_profile file was backed up as /Users/tom.maxwell/.bash_profile.macports-saved_2013-03-04_at_15:51:37
##
# MacPorts Installer addition on 2013-03-04_at_15:51:37: adding an appropriate PATH variable for use with MacPorts.
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.
##
@
".bash_profile" 46L, 1730C
我该怎么办?我尝试运行的应用程序相当大,而且我不熟悉Java(我主要是JS/CSS人员) 您正在更改保存类和内容的permgen大小 相反,您希望更改最大内存,添加
MAVEN_OPTS=“-Xms512M-Xmx2048M”
应该能解决你的问题 将此参数作为参数添加到服务器参数中 -Xmx1024m-XX:MaxPermSize=512m-Xms512m
我正在使用Ubuntu 14.04,我也面临着类似的问题。对我有效的方法是将这一行添加到.bashrc
export MAVEN_OPTS="-Xmx756m -XX:MaxPermSize=2048m"
然后重新启动系统。问题似乎不在脚本中,OOME的出现是因为Java代码中存在一些问题。请在此发布相关部分。
MAVEN_OPTS
仅用于使用MAVEN构建代码。您是否也在使用maven来运行代码?你是如何运行你的代码的?具体来说,您使用的导致此错误的命令是什么?如果您直接使用java
运行JAR文件,请尝试使用参数-Xms
和-Xmx
。@Jesse-是的,我使用的是Maven。我使用的命令是“mvn tomcat7:run”@TomMaxwell,然后尝试以下命令:MAVEN\u OPTS='-Xms256m-Xmx1024m-XX:MaxPermSize=1024m'
请记住,对.bash\u配置文件的更改不会立即被使用。我认为你必须重新启动你的终端,或者甚至注销然后重新登录。或者,只需运行~/。bash_profile
到MAVEN_选项还是虚拟机选项?你能告诉我在哪里可以把它添加到虚拟机选项中吗?我是新来的。。。正在尝试构建此应用程序,以便我可以进行前端工作和测试。请尝试将其添加到maven_选项中