`
cuilji
  • 浏览: 69697 次
  • 性别: Icon_minigender_1
  • 来自: 本溪
社区版块
存档分类
最新评论

PermGen内存不足问题(转帖)

阅读更多
1、PermGen space简介

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。

说说为什么会内存益出:
(1)这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同。
(2) GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。

如果你的WEB APP下都用了大量的第三方jar,其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。


解决方法: 手动设置MaxPermSize大小

修改TOMCAT_HOME/bin/catalina.sh,在echo "Using CATALINA_BASE:   $CATALINA_BASE"上面加入以下行:
       JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以减少jar 文档重复占用内存。
分享到:
评论

相关推荐

    解决OutOfMemoryError: PermGen space

    这种错误通常发生在永久代(PermGen space)内存不足的情况下,永久代主要用于存储类的信息、常量、静态变量以及方法信息等。本文将详细介绍这一问题的成因及解决方案。 #### 一、PermGen space简介 PermGen space...

    解决JVM中得PermGen spac问题

    解决 JVM 中的 PermGen space 问题 PermGen space(Permanent Generation space)是 JVM 中的一块永久保存区域,用于存放 Class 和 Meta 信息。当应用程序加载 Class 时,Class 就会被放入 PermGen space 区域中,...

    Caused by: java.lang.OutOfMemoryError: PermGen space解决方案

    总之,"java.lang.OutOfMemoryError: PermGen space"错误是由于Java虚拟机的 PermGen 区域内存不足造成的,可以通过增大 PermGen 区域的大小、升级JVM版本、优化类加载和库的使用等方式来解决。对于任何内存管理问题...

    java.lang.OutOfMemoryError: PermGen space

    《Java中的PermGen空间及其内存溢出问题》 在Java编程中,我们常常会遇到一个让人头疼的问题,那就是“java.lang.OutOfMemoryError: PermGen space”错误。这个错误提示表明,应用程序在运行过程中,内存的永久代...

    java.lang.OutOfMemoryError: PermGen space及其解决方法

    通过以上方法,可以有效地解决因PermGen space不足导致的`java.lang.OutOfMemoryError`问题。需要注意的是,虽然增加PermGen space的大小是一种简单直接的方法,但从长远来看,优化代码和类加载机制才是更为根本的...

    PermGen space

    在Java虚拟机(JVM)中,PermGen Space,全称Permanent Generation Space,是用于存储类的元数据、常量池、字符串常量等非实例对象数据的一个内存区域。与普通对象的堆空间不同,PermGen Space主要负责存储类的结构...

    java.lang.OutOfMemoryError: PermGen space解决方案

    java.lang.OutOfMemoryError: PermGen space 解决方案

    OutOfMemoryError-PermGen-space-的解决方案亲测有效

    这有助于缓解PermGen空间不足的问题。 #### 五、案例分析 本案例发生在一个使用MyEclipse 8.5和Tomcat 6.x的环境中。最初尝试通过修改`catalina.bat`文件中的JVM参数来解决问题,但由于没有正确地指定PermGen空间...

    Java内存不足PermGen space错误探究.pdf

    Java内存不足PermGen space错误通常出现在Java程序运行过程中,尤其是当Java EE服务器(如Tomcat、JBoss等)加载WAR或EAR包时。这个错误的根本原因在于Java虚拟机(JVM)的永久代(Permanent Generation Space)内存...

    Eclipse中通过Tomcat运行J2EE项目java.lang.OutOfMemoryError PermGen space的解决方案

    解决 Eclipse 中通过 Tomcat 运行 J2EE 项目 java.lang.OutOfMemoryError PermGen space 的关键是增加 JVM 的内存空间,通过添加合适的参数,可以避免 PermGen space 溢出,确保项目的稳定运行。

    Java8新特性之再见Permgen_动力节点Java学院整理

    这对于处理大量类的应用来说是个好消息,因为它可以避免因 PermGen 太小而引发的内存溢出问题。 尽管如此,元空间的引入并不意味着开发者可以完全忽视类元数据的内存管理。默认情况下,元空间的大小是动态调整的,...

    Tomcat给我的java.lang.OutOfMemoryError: PermGen

    《深入理解Java虚拟机中的内存溢出: PermGen与Heap空间》 在Java应用程序的运行过程中,内存管理是至关重要的,尤其是对于服务器端应用如Tomcat来说,内存配置的合理与否直接影响到应用的稳定性和性能。本文将针对...

    解决Eclipse Tomcat OutOfMemoryError:PermGen space的问题

    由于JVM默认的 PermGen 空间大小相对较小,且GC(垃圾收集器)不会在应用程序运行期间自动清理这部分内存,因此容易引发内存溢出问题。 解决这个问题的一个直接方法是通过增加JVM的 `-XX:MaxPermSize` 参数来扩大...

    Tomcat多应用时遇到的PermGen SPACE问题

    NULL 博文链接:https://eastzhang.iteye.com/blog/1788854

    Eclipse的内存优化与内存不足问题.pdf

    通过合理的配置JVM参数,尤其是调整PermGen Space的大小,可以有效解决Eclipse中的内存不足问题。此外,还应注意优化项目的第三方库管理,减少不必要的类加载,从而进一步提升Eclipse的稳定性和性能。 总之,正确地...

    PermGen space错误解决方法

    讲述了PermGen space错误解决方法以及PermGen space的出现的几张情况

Global site tag (gtag.js) - Google Analytics