此贴用于记录我在工作中遇到过的tomcat permgen space 内存溢出的问题和是如何解决的。
问题产生的原因:
我有一个应用假定为PlayWeb01,因为业务UI变化巨大导致数据库表结构也变化巨大,客户的历史数据需要保存30年,这样,就不能够在原有数据库上进行升级,我又懒得给新业务部分单独配置一个数据源,因为这样做后续的工作量太大。于是乎,在同一个tomcat中部署了多个应用,问题就这样产生了,程序跑一段时间之后就会产生PermGen space 内存溢出。
-------------------------------------------------------------------------------
出现问题就来解决问题吧。
首先去问问<度娘>,如果不能再前几页找到你想要的,去问问<谷哥>。
查阅n多资料后发现原来这个问题,不是
tomcat的问题在这里代表遇到此问题并且因为此问题更换tomcat为其它中间件的同仁想tomcat致歉。这个问题jvm参数的问题。jvm设置的PermGen space 不够宽敞,解决方法很easy,当然如果你能一下就找到相关资料的话。
这里留下个东东,以方便自己下次遇到是快速解决........................
留下修改后的 catalina.bat。
附件是bat,由于本站不让传这个格式,这里只修改了扩展名,并没有真正压缩
修改的内容在 162行
rem ----- Execute The Requested Command ---------------------------------------
rem ---------------------------- 这里设置JVM的PermGen space--------------------
set JAVA_OPTS=%JAVA_OPTS% -server -Xms256m -Xmx3g [i]-XX:PermSize=64m -XX:MaxPermSize=256m[/i]
echo Using CATALINA_BASE: "%CATALINA_BASE%"
分享到:
相关推荐
在Java应用程序运行过程中,可能会遇到“OutOfMemoryError: PermGen space”的错误提示。这种错误通常发生在永久代(PermGen space)内存不足的情况下,永久代主要用于存储类的信息、常量、静态变量以及方法信息等。...
当应用程序加载了大量的类或者动态生成了很多类(例如通过字节码生成工具或预编译操作),PermGen Space可能会迅速耗尽。特别是在Web应用环境下,如部署Web应用、使用JSP预编译等场景下,若配置不当,很容易触发`...
在Java应用程序运行过程中,"java.lang.OutOfMemoryError: PermGen space"错误是常见的一个问题,尤其是在使用Tomcat这样的Java应用服务器时。这个错误表明应用程序在 PermGen 区域(Permanent Generation)耗尽了...
当加载的类太多时,PermGen space 就会溢出,引发 java.lang.OutOfMemoryError: PermGen space 异常。 解决这个问题的关键是增加 JVM 的内存空间。有一些解决方案是针对纯 Tomcat 的情况,但是这些方法并不适合 ...
当PermGen space的可用空间被耗尽时,Java应用程序将抛出`java.lang.OutOfMemoryError: PermGen space`异常。这种错误通常发生在应用程序加载了大量类或动态生成了很多类的情况下,例如使用了大量的第三方库或者在...
java.lang.OutOfMemoryError: PermGen space 解决方案
当应用程序加载 Class 时,Class 就会被放入 PermGen space 区域中,这个区域不同于存放 Instance 的 Heap 区域。GC(Garbage Collection)不会在主程序运行期对 PermGen space 进行清理,这意味着如果应用程序加载...
在开发或运行基于Java的应用程序时,有时会遇到一个常见的错误提示:“OutOfMemoryError: PermGen space”。该错误通常发生在应用程序使用大量类加载器或者频繁进行类的加载与卸载时。本文将详细介绍这一错误的原因...
总的来说,遇到`OutOfMemoryError: PermGen space`问题时,首先要分析应用是否频繁加载大量类或使用大量库,然后通过增大 PermGen 区域的大小来解决。此外,升级到Java 8及以上版本也是一个有效的解决方案,因为这些...
当应用程序加载了大量的类或者频繁地进行类的热部署时, PermGen space的容量可能会耗尽,从而引发上述异常。JSP的预编译、大量第三方库的使用,特别是多个Web应用共享相同的JAR包,都会增加PermGen的负担。 解决`...
Java内存不足PermGen space错误通常出现在Java程序运行过程中,尤其是当Java EE服务器(如Tomcat、JBoss等)加载WAR或EAR包时。这个错误的根本原因在于Java虚拟机(JVM)的永久代(Permanent Generation Space)内存...
tomcat内存溢出解决办法,错误信息:java.lang.OutOfMemoryError:PermGen space 参考该文档可快速解决内存溢出的问题,服务器:tomcat
PermGen space是JVM内存中的一块永久保存区域,类加载时存放在这个区域中。解决这个问题的方法是设置JVM的 PermGen space的大小。可以在tomcat/bin/catalina.bat文件中修改set JAVA_OPTS的值,例如:set JAVA_OPTS=-...
在部署应用至 Tomcat 服务器时,经常会遇到一个常见的错误:`java.lang.OutOfMemoryError: PermGen space`。该错误表明 Java 虚拟机 (JVM) 的永久代 (PermGen space) 已经达到了其最大容量限制。PermGen space 主要...
当`permGen`空间不足时,JVM会抛出`OutOfMemoryError: PermGen space`的错误,这可能导致应用崩溃。为了解决这个问题,开发者需要调整JVM的启动参数,例如增加`-XX:MaxPermSize`(在Java 8之前)或者`-XX:...
* 在使用Java程序时,需要注意PermGen Space和Heap Space的大小,以避免OutOfMemoryError异常。 总结 TOMCAT内存大小调整是指在使用Java程序时,出现OutOfMemoryError异常的解决方法。通过调整PermGen Space和Heap...
假设在使用Spring框架结合Hibernate持久层技术时遇到PermGen Space内存溢出的问题,通常是因为Spring AOP使用了CGLIB动态代理技术,这会动态生成大量类,进而消耗更多的PermGen Space资源。解决此类问题时,除了增大...