`

tomcat内存不足的解决方法

阅读更多

tomcat永久空间内存不足的解决:
最近两天配置tomcat与apache的结合,不知道什么原因在项目启动运行很短暂的时间以后就会报permgen space异常。可是在自己本地缺没有见过这种现象。
我们开始以为是自己代码写的有问题才会有这种现象的出现。但是经过测试排除了这种可能性。
最终还是在网上找到了答案。
PermGen space这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)
不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。
发现很多人把问题归因于: spring,hibernate,tomcat,因为他们动态产生类,导致JVM中的permanent heap溢出 。
然后解决方法众说纷纭,有人说升级 tomcat版本到最新甚至干脆不用tomcat。
还有人怀疑spring的问题,在spring论坛上讨论很激烈,因为spring在AOP时使用CBLIB会动态产生很多类。
SUN 的JVM把内存分了不同的区,其中一个就是permenter区用来存放用得非常多的类和类描述。
本来SUN设计的时候认为这个区域在JVM启动的时候就固定了,但他没有想到现在动态会用得这么广泛。
而且这个区域有特殊的垃圾收回机制,现在的问题是动态加载类到这个区域后,gc根本没办法回收!
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,
解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,
它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,
所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。

分享到:
评论

相关推荐

    TOMCAT内存溢出之解决方法

    Tomcat内存溢出之解决方法 Tomcat内存溢出是指Tomcat服务器在处理大数据量时出现的内存溢出错误,导致系统崩溃或返回HTTP状态码500的错误页面。本文将详细介绍Tomcat内存溢出之解决方法,包括问题分析、解决方法和...

    tomcat内存泄漏备份方法

    以下是对“tomcat内存泄漏备份方法”的详细解析。 1. **内存泄漏的理解** 内存泄漏是指程序在申请内存后,无法释放已不再使用的内存空间。在Tomcat中,如果长时间运行的应用不断积累不再使用的对象,就会导致内存...

    解决tomcat内存溢出的配置方法

    本篇将详细介绍如何解决Tomcat内存溢出的问题,以及如何进行相应的配置优化。 首先,我们需要理解什么是内存溢出。当一个程序在运行过程中,分配给它的内存不足以存储所有数据时,就会发生内存溢出。在Java环境中,...

    TOMCAT内存大小调整

    TOMCAT内存大小调整是指在使用Java程序从数据库中查询大量数据或应用服务器(如Tomcat、JBoss、WebLogic)加载jar包时,出现java.lang.OutOfMemoryError异常的解决方法。这种异常主要是由于应用服务器的内存不足引起...

    java excel导出tomcat内存溢出处理方法

    ### Java Excel导出Tomcat内存溢出处理方法 在Java应用开发过程中,特别是在进行大量数据处理如Excel导出等操作时,经常会遇到Tomcat服务器内存溢出的问题。内存溢出是指程序运行时申请的内存超过了系统能提供的...

    tomcat内存溢出解决方案

    项目在tomcat下运行时,出现常见的几种内存溢出的解决方案

    LINUX部署tomcat内存溢出解决方案.txt

    LINUX部署tomcat内存溢出解决方案 已经使用过了,确实是好用的。

    eclipse启动tomcat内存泄漏解决

    ### Eclipse启动Tomcat内存泄漏解决方案 #### 一、问题背景 在使用Eclipse集成开发环境(IDE)启动Tomcat服务器时,可能会遇到内存泄漏的问题。这种情况不仅会导致应用程序运行缓慢,严重时甚至会使得Tomcat服务器...

    监控tomcat内存使用情况

    监控Tomcat内存使用情况是确保应用稳定运行的关键环节。Tomcat作为一款广泛应用的Java Servlet容器,其内存管理直接影响到Web应用程序的性能和响应速度。理解并监控这些内存指标可以帮助我们及时发现并解决潜在的...

    一个jsp页面导致的tomcat内存溢出的解决方法.doc

    一个jsp页面导致的tomcat内存溢出的解决方法.doc

    tomcat如何扩大内存

    ### Tomcat 如何扩大内存 在使用 Tomcat 进行 Web 应用部署时,可能会遇到内存不足的问题,尤其是在启动大型应用或者应用中存在...通过以上步骤,可以有效地解决 Tomcat 内存不足的问题,确保 Web 应用的稳定运行。

    tomcat内存溢出在不同系统上各种详细的解决方案

    ### Tomcat内存溢出在不同系统上的解决方案 #### 一、引言 在部署和运维基于Java的应用程序时,Tomcat作为广泛使用的轻量级Web容器之一,常常会在高负载或资源管理不当的情况下遭遇内存溢出的问题。内存溢出不仅会...

    eclipse和tomcat的内存配置

    #### 四、Tomcat内存配置 Tomcat是一款免费开源的轻量级Web服务器,常用于部署Java Web应用程序。 **1. 配置步骤** 使用Eclipse的Tomcat插件时,可以在“Window > Preferences > Tomcat > JVM Setting”中添加相应...

Global site tag (gtag.js) - Google Analytics