Exception in thread "http-bio-8081-exec-3" java.lang.OutOfMemoryError: PermGen space
前言:
在http://www.cnblogs.com/wql025/p/4865673.html一文中我曾描述这种异常也提供了解决方式,但效果不太理想,现在用本文的方式,效果显著。
目前此项目只能登录,再打开其他功能模块即出现以下异常:
Exception in thread "http-bio-8081-exec-3" java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.decodeLocalVariableAttribute(MethodInfo.java:529)
at org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.decodeCodeAttribute(MethodInfo.java:511)
at org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.readCodeAttribute(MethodInfo.java:482)
at org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.getArgumentNames(MethodInfo.java:251)
at org.eclipse.jdt.internal.compiler.classfmt.MethodInfo.initialize(MethodInfo.java:349)
at org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.initialize(ClassFileReader.java:1153)
at org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>(ClassFileReader.java:388)
at org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:231)
at org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:203)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:157)
at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:201)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getPackage(Scope.java:2982)
at org.eclipse.jdt.internal.compiler.ast.QualifiedTypeReference.getTypeBinding(QualifiedTypeReference.java:97)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.internalResolveType(TypeReference.java:472)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:571)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:567)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveSuperType(TypeReference.java:541)
at org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype(ClassScope.java:1287)
at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperclass(ClassScope.java:938)
at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:1095)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:323)
从名字可以看出此异常是内存溢出。之前遇到好多次,解决的方案多是增加Tomcat内存,但效果几乎都不理想,今天没有动Tomcat,只是增加了eclipse的内存,此方案出自http://bbs.csdn.net/topics/390961799中magi1201网友的留言。
下面是我的解决步骤:
1、先在eclipse安装目录中将eclipse的启动参数调大一些--在eclipse的安装目录的ini文件,我用的是STS,所以是STS.ini文件。
原文件参数:
-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-
-product
org.springsource.sts.ide
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms40m
-XX:MaxPermSize=256m
-Xverify:none
-Dorg.eclipse.swt.browser.IEVersion=
-Xmx1200m
调整后的文件参数:
-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-
-product
org.springsource.sts.ide
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
512M
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms40m
-XX:MaxPermSize=512m
-Xverify:none
-Dorg.eclipse.swt.browser.IEVersion=
-Xmx1200m
注:红色字体为修改参数
2、然后在eclipse的server栏,找到tomcat选项,打开tomcat的配置
2.1

2.2

2.3

在arguments 标签框下面的VM Arguments 框后面接上自己的tomcat启动虚拟机参数就可以了。注:红色线标注的为新增内容。记得点Apply和OK哦

后记:此方法一试就灵,原来本项目的内存只够登录,再点击别的功能均出现此异常,安装上面的方法进行修改后立即恢复正常。但是最重要的考验是在运行情况下修改项目--待考验...
Exception in thread "http-bio-8081-exec-3" java.lang.OutOfMemoryError: PermGen space的更多相关文章
- NUTCH Exception in thread "Thread-12751" java.lang.OutOfMemoryError: PermGen space
转载自 :http://greemranqq.iteye.com/blog/1705867转载自:http://www.cnblogs.com/xwdreamer/archive/2011/11/21 ...
- Exception in thread "http-apr-8080-exec-6" java.lang.OutOfMemoryError: PermGen space 解决!
Exception in thread "http-apr-8080-exec-6" java.lang.OutOfMemoryError: PermGen space at ja ...
- idea Exception in thread "http-apr-8080-exec-2" java.lang.OutOfMemoryError: PermGen space
idea Exception in thread "http-apr-8080-exec-2" java.lang.OutOfMemoryError: PermGen space ...
- Exception in thread "RMI TCP Connection(idle)" java.lang.OutOfMemoryError: PermGen space
在Eclipse 调试 springside showcase项目中,tomcat报异常 Exception in thread "RMI TCP Connection(idle)" ...
- Exception in thread "http-bio-8080-exec-2" java.lang.OutOfMemoryError: PermGen space[解决方案]
- 解决Spark用Maven编译时报Exception in thread "main" java.lang.OutOfMemoryError: PermGen space异常
异常截图: 解决方法: export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
- myeclipse执行tomcat报错Exception in thread "main" java.lang.OutOfMemoryError: PermGen space
将myeclipse所配置的tomcat的jdk进行设置:-Xms512m -Xmx512m -XX:MaxNewSize=512m -XX:MaxPermSize=512m,例如以下图:
- eclipse异常:Exception in thread ""http-bio-8080"-exec-5" java.lang.OutOfMemoryError: PermGen space
用eclipse运行项目,最烦的就是非代码错误.现在这个异常信息,表示的是tomcat启动内存溢出.试过的最简单的办法就是eclipse->project->clean->clean ...
- Tomcat报错,内存溢出的错误Exception in thread "http-bio-8080-exec-13" java.lang.OutOfMemoryError: PermGen space
说是tomcat 内存溢出,然后按照网上看的搞一搞之后没出息这个问题了 原因是tomcat内存溢出,按照一到五步奏,在第三步加上那段参数.
随机推荐
- C# 匿名方法及Lambda表达式
1.匿名方法 定义:匿名方法不能直接在类中定义,而是在给委托变量赋值的时候,需要赋值一个方法,此时可以“现做现卖”,定义一个匿名方法传递给该委托. 举实例说明: 实例一:无参数,无返回值的一个匿名方法 ...
- php读取目录下的文件
工作需要写了一个读取指定目录下的文件,并显示列表,点击之后读取文件中的内容 高手拍砖,目录可以自由指定,我这里直接写的是获取当前文件目录下面的所有文件 <?php /** * 读取指定目录下面的 ...
- spark写入Oracle 报错 java.lang.ArrayIndexOutOfBoundsException: -32423
原因: oracle 10g的驱动执行的批量提交只支持32768个参数,如果表的字段多于32个,就会出现该异常 解决办法: 升级oracle的驱动版本,换成ojdbc6.jar
- 【学习笔记】【C语言】自增自减
1. 简单使用 ++ 自增运算符.如a++,++a,都等价于a = a+1 --自减运算符.如a--,--a,都等价于a = a-1 5++是错误的,因为5是常量 2. ++a和a++的区别 int ...
- 20140215-搭建phonegap开发环境
1.安装jdk,配置环境变量 a)设置 JAVA_HOME =E:\SetUpFiles\win8.1\Java\jdk1.6.0_45 b)设置PATH=E:\SetUpFiles\win8.1\J ...
- 2014028-jQuery与正则表达式[转]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 网易面试题:和为n连续正数序列
题目: 输入一个正数n,输出所有和为n连续正数序列.例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5.4-6和7-8. 继续做些题目,看到这是网易面试题,于是 ...
- 【风马一族_xml】xml的基本讲解笔记
xml是如何保存数据的 在xml语言中,它允许用户自定义标签.每个标签用于描述一段数据; 一个标签可以分为开始标签和结束标签,在开始标签和结束标签之间又可以嵌套其它标签,利用标签间的嵌套其它标签,利用 ...
- Silverlight动画学习笔记(三):缓动函数
(一)定义: 缓动函数:可以将自定义算术公式应用于动画 (二)为什么要用缓动函数: 您可能希望某一对象逼真地弹回或其行为像弹簧一样.您可以使用关键帧动画甚至 From/To/By 动画来大致模拟这些效 ...
- HTML5 Shiv – 让该死的IE系列支持HTML5吧
HTML5能为我们做的事儿很多,最为可口的就是语义化标签的应用,如果你已经在Chrome或者其他支持HTML5的浏览器上用过它的牛x,那这篇文章对你一定有用,因为现在你也可以在IE上用到HTML5. ...