美文网首页
java.lang.OutOfMemoryError: Perm

java.lang.OutOfMemoryError: Perm

作者: willcoder | 来源:发表于2019-09-24 09:44 被阅读0次

错误描述

在正常启动 Tomcat 的时候,报出如下错误:

Exception encountered during context initialization - 
cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'config' defined in URL [jar:file:/E:/GitSpace/bqpt/bqpt-portal/target/bqpt-portal/WEB-INF/lib/bqpt-controller-0.0.1-SNAPSHOT.jar!/com/cpic/template/Config.class]: 
Instantiation of bean failed; 
nested exception is java.lang.OutOfMemoryError: PermGen space

错误原因

通过观察上面的错误描述,我们可以知道错误原因:

java.lang.OutOfMemoryError: PermGen space

此错误,为内存溢出错误。更具体的说,是指方法区(永久代)内存溢出!

解决方法

由于 JDK 自带的虚拟机为 HotSpot,且其支持内存区域的动态扩展,因此可以通过设置虚拟机参数来扩展方法区的内存大小。例如,进入Run/Debug Configuration页面,修改虚拟机参数为:

-Xms1024M -Xmx2048M -XX:PermSize=128M -XX:MaxPermSize=256M

具体如何配置,如下图所示:


image.png

其中,各个参数的含义为:

-Xms,表示程序启动时,JVM 堆的初始化最小尺寸参数;
-Xmx,表示程序启动时,JVM 堆的初始化最大尺寸参数;
-XX:PermSize,表示程序启动时,JVM 方法区的初始化最小尺寸参数;
-XX:MaxPermSize,表示程序启动时,JVM 方法区的初始化最大尺寸参数。
对于本例中的错误,实际上,只需要扩展方法区的虚拟机参数即可。
————————————————

原文链接

相关文章

网友评论

      本文标题:java.lang.OutOfMemoryError: Perm

      本文链接:https://www.haomeiwen.com/subject/plsructx.html