我出现内存不足错误,如何解决?Permgen 空间区域是啥意思?是啥原因造成的? [复制]
Posted
技术标签:
【中文标题】我出现内存不足错误,如何解决?Permgen 空间区域是啥意思?是啥原因造成的? [复制]【英文标题】:I am getting out of memory error,how to resolve?what is mean by Permgen space area? What is causing it? [duplicate]我出现内存不足错误,如何解决?Permgen 空间区域是什么意思?是什么原因造成的? [复制] 【发布时间】:2016-04-09 06:15:27 【问题描述】:我出现内存不足错误,如何解决?Permgen 空间区域是什么意思?是什么原因造成的?
有什么解决办法?
java.lang.OutOfMemoryError: PermGen space
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClassCond(Unknown Source)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1814)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872)
org.jboss.web.tomcat.service.WebAppClassLoader.findClass(WebAppClassLoader.java:75)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1325)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289)
java.sql.DriverManager.getConnection(Unknown Source)
java.sql.DriverManager.getConnection(Unknown Source)
【问题讨论】:
【参考方案1】:PermGen 是存储与类相关的信息的内存区域。
如果您的类加载器无法在必要时卸载类定义,您可能会遇到与 PermGen 相关的 OutOfMemoryError。
您可以通过增加参数-XX:MaxPermSize=512m
专用于permgen 的内存量来解决此错误
JVM 使用 MaxPermSize 参数来手动定义 PermGen 区域的内存大小。您可以将该参数传递给任何 Java 应用程序(例如作为启动您的 tomcat 的参数)。
【讨论】:
以上是关于我出现内存不足错误,如何解决?Permgen 空间区域是啥意思?是啥原因造成的? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Java内存不足报错:OutOfMemoryError:PermGen space