我正在尝试在我的终端中构建一个Java应用程序(我正在使用Eclipse,但终端只是为了查看它是否有效),而且我一直对这个消息感到困惑:
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "main"
建议我将这行代码添加到我的.profile(我有.bash_profile,但不是.profile),所以我做了:
MAVEN_OPTS="-XX:MaxPermSize=512m"
但我仍然得到错误。这是我的.bash_profile文件的样子:
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人员)。
答案 0 :(得分:2)
你正在改变持有类和东西的permgen大小。
而你想要改变最大内存,添加
MAVEN_OPTS="-Xms512M -Xmx2048M"
应该解决你的问题。
答案 1 :(得分:1)
我使用的是Ubuntu 14.04,我遇到了类似的问题。对我有用的是将此行添加到.bashrc
export MAVEN_OPTS="-Xmx756m -XX:MaxPermSize=2048m"
之后只需重新启动系统。
答案 2 :(得分:0)
在服务器参数中添加此参数作为参数
-Xmx1024m -XX:MaxPermSize = 512m -Xms512m