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 文档重复占用内存。
分享到:
相关推荐
这种错误通常发生在永久代(PermGen space)内存不足的情况下,永久代主要用于存储类的信息、常量、静态变量以及方法信息等。本文将详细介绍这一问题的成因及解决方案。 #### 一、PermGen space简介 PermGen space...
解决 JVM 中的 PermGen space 问题 PermGen space(Permanent Generation space)是 JVM 中的一块永久保存区域,用于存放 Class 和 Meta 信息。当应用程序加载 Class 时,Class 就会被放入 PermGen space 区域中,...
总之,"java.lang.OutOfMemoryError: PermGen space"错误是由于Java虚拟机的 PermGen 区域内存不足造成的,可以通过增大 PermGen 区域的大小、升级JVM版本、优化类加载和库的使用等方式来解决。对于任何内存管理问题...
《Java中的PermGen空间及其内存溢出问题》 在Java编程中,我们常常会遇到一个让人头疼的问题,那就是“java.lang.OutOfMemoryError: PermGen space”错误。这个错误提示表明,应用程序在运行过程中,内存的永久代...
通过以上方法,可以有效地解决因PermGen space不足导致的`java.lang.OutOfMemoryError`问题。需要注意的是,虽然增加PermGen space的大小是一种简单直接的方法,但从长远来看,优化代码和类加载机制才是更为根本的...
在Java虚拟机(JVM)中,PermGen Space,全称Permanent Generation Space,是用于存储类的元数据、常量池、字符串常量等非实例对象数据的一个内存区域。与普通对象的堆空间不同,PermGen Space主要负责存储类的结构...
java.lang.OutOfMemoryError: PermGen space 解决方案
这有助于缓解PermGen空间不足的问题。 #### 五、案例分析 本案例发生在一个使用MyEclipse 8.5和Tomcat 6.x的环境中。最初尝试通过修改`catalina.bat`文件中的JVM参数来解决问题,但由于没有正确地指定PermGen空间...
Java内存不足PermGen space错误通常出现在Java程序运行过程中,尤其是当Java EE服务器(如Tomcat、JBoss等)加载WAR或EAR包时。这个错误的根本原因在于Java虚拟机(JVM)的永久代(Permanent Generation Space)内存...
解决 Eclipse 中通过 Tomcat 运行 J2EE 项目 java.lang.OutOfMemoryError PermGen space 的关键是增加 JVM 的内存空间,通过添加合适的参数,可以避免 PermGen space 溢出,确保项目的稳定运行。
这对于处理大量类的应用来说是个好消息,因为它可以避免因 PermGen 太小而引发的内存溢出问题。 尽管如此,元空间的引入并不意味着开发者可以完全忽视类元数据的内存管理。默认情况下,元空间的大小是动态调整的,...
《深入理解Java虚拟机中的内存溢出: PermGen与Heap空间》 在Java应用程序的运行过程中,内存管理是至关重要的,尤其是对于服务器端应用如Tomcat来说,内存配置的合理与否直接影响到应用的稳定性和性能。本文将针对...
由于JVM默认的 PermGen 空间大小相对较小,且GC(垃圾收集器)不会在应用程序运行期间自动清理这部分内存,因此容易引发内存溢出问题。 解决这个问题的一个直接方法是通过增加JVM的 `-XX:MaxPermSize` 参数来扩大...
NULL 博文链接:https://eastzhang.iteye.com/blog/1788854
通过合理的配置JVM参数,尤其是调整PermGen Space的大小,可以有效解决Eclipse中的内存不足问题。此外,还应注意优化项目的第三方库管理,减少不必要的类加载,从而进一步提升Eclipse的稳定性和性能。 总之,正确地...
讲述了PermGen space错误解决方法以及PermGen space的出现的几张情况