美文网首页
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