java.lang.OutOfMemoryError: PermGen space Exception

后端 未结 4 1446
悲哀的现实
悲哀的现实 2020-12-06 15:55

I am getting this java.lang.OutOfMemoryError: PermGen space Exception. I am using Eclipse Juno and Tomcat 7.0. This Exception occurs at least once in every 10-1

4条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-06 16:01

    What is java.lang.OutOfMemoryError: PermGen space?

    Ans:

    The java.lang.OutOfMemoryError: PermGen space message indicates that the Permanent Generation’s area in memory is exhausted.

    Any Java applications is allowed to use a limited amount of memory. The exact amount of memory your particular application can use is specified during application startup.

    Java memory is separated into different regions which can be seen in the following image:

    What will be the solution for this error PermGen space?

    Ans:

    For Heap,

    export JVM_ARGS="-Xms1024m -Xmx1024m" 
    

    For Permgen,

    JVM_ARGS="-XX:PermSize=512M -XX:MaxPermSize=512m"
    

    You can give also additional section

    -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC XX:+CMSClassUnloadingEnabled
    

    You can also give more additional section :)

    -XX:PermSize=512m -XX:MaxPermSize=512m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -XX:SurvivorRatio=2 -XX:MaxTenuringThreshold=128 -XX:TargetSurvivorRatio=90 -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:CMSIncrementalDutyCycleMin=0 -XX:CMSIncrementalDutyCycle=10 -XX:+UseTLAB -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled 
    

    Metaspace: A new memory space is born

    The JDK 8 HotSpot JVM is now using native memory for the representation of class metadata and is called Metaspace; similar to the Oracle JRockit and IBM JVM's.

    The good news is that it means no more java.lang.OutOfMemoryError: PermGen space problems and no need for you to tune and monitor this memory space anymore.

    Related Link:

    1. https://plumbr.eu/outofmemoryerror/java-heap-space
    2. https://plumbr.eu/outofmemoryerror/permgen-space
    3. http://stas-blogspot.blogspot.in/2011/07/most-complete-list-of-xx-options-for.html#UseConcMarkSweepGC
    4. https://www.javacodegeeks.com/2013/12/decoding-java-lang-outofmemoryerror-permgen-space.html
    5. http://www.javavillage.in/reasons-outofmemory-permespace.php
    6. Dealing with "java.lang.OutOfMemoryError: PermGen space" error

    Java 8 Links

    1. What is the use of MetaSpace in Java 8?
    2. https://blogs.oracle.com/poonam/entry/about_g1_garbage_collector_permanent
    3. https://plumbr.eu/outofmemoryerror/metaspace
    4. https://dzone.com/articles/java-8-permgen-metaspace

提交回复
热议问题