Tomcat在停止或者重新部署应用时可能存在内存泄漏。 以下面的地址中,尝试列出它们,并解释在什么情况下可以检测并修复泄漏。
http://wiki.apache.org/tomcat/MemoryLeakProtection
Leak cause |
Detected by tomcat |
Fixed by tomcat |
Possible enhancements |
>=6.0.24 |
>= 7.0.6 |
||
>=6.0.24 |
>= 7.0.6 |
||
Webapp class instance indirectly held through a ThreadLocal value |
no |
>= 7.0.6 |
|
>=6.0.24 |
>= 7.0.6 |
||
>=6.0.24 |
In 6.0.24-6.0.26 TimerThread are stopped but it may lead to problems. Optional from 6.0.27 with the clearReferencesStopTimerThreads flag. Other threads may be stopped with the clearReferencesStopThreads flag, but it's unsafe. |
Fix the application to stop the thread when the application is stopped |
|
ContextClassLoader / Threads spawned by classes loaded by the common classloader |
>=6.0.24 |
In 6.0.24-6.0.26 TimerThread are stopped but it may lead to problems. Optional from 6.0.27 with the clearReferencesStopTimerThreads flag. Other threads may be stopped with the clearReferencesStopThreads flag, but it's unsafe. |
Fix the offending code (set the correct CCL when spawning the thread) |
no |
>=6.0.24 pre-spawns some known offenders |
||
no |
> 6.0.? . Disabled by default with tomcat 7 |
||
> 6.0.? |
|||
> 6.0.? |
> 6.0.? |
||
> 6.0.? |
相关推荐
### Tomcat内存泄露问题排查 #### 测试环境与问题描述 - **测试环境**:天津中石油现场。 - **问题背景**:天津中石油9820加油站平台在运行一段时间后,内存占用量达到4GB,导致Tomcat出现假死现象,用户无法登录...
Tomcat内存泄漏是Java应用服务器在运行过程中常见的问题,它可能导致系统性能下降,服务不稳定,甚至引发系统崩溃。解决这个问题需要深入理解Tomcat的内存管理机制以及如何诊断和修复内存泄漏。以下是对“tomcat内存...
### Eclipse启动Tomcat内存泄漏解决方案 #### 一、问题背景 在使用Eclipse集成开发环境(IDE)启动Tomcat服务器时,可能会遇到内存泄漏的问题。这种情况不仅会导致应用程序运行缓慢,严重时甚至会使得Tomcat服务器...
这是一个查看Tomcat内存的文件。放在应用工程中,直接访问就可以。 个人感觉这是一个非常有用的文件。
### 修改Tomcat内存大小 在部署Java Web应用时,经常需要根据实际运行需求调整Tomcat服务器的内存配置。本文将详细介绍如何修改Tomcat的内存大小,包括常用的内存参数及其意义,并提供具体的设置方法。 #### 一、...
Tomcat如何检测内存泄漏 一般情况下,如果我们重启web应用是通过重启tomcat的话,则不存在内存泄漏问题。但如果不重启tomcat而对web应用进行重加载则可能会导致内存泄漏,因为重加载后有可能会导致原来的某些内存...
监控Tomcat内存使用情况是确保应用稳定运行的关键环节。Tomcat作为一款广泛应用的Java Servlet容器,其内存管理直接影响到Web应用程序的性能和响应速度。理解并监控这些内存指标可以帮助我们及时发现并解决潜在的...
### Tomcat内存设置详解 #### 引言 在构建高性能且稳定的Web应用时,合理配置Tomcat内存参数是至关重要的一步。Tomcat作为一款广泛使用的开源应用服务器,其性能受到诸多因素的影响,其中内存配置尤为关键。正确的...
Tomcat内存溢出之解决方法 Tomcat内存溢出是指Tomcat服务器在处理大数据量时出现的内存溢出错误,导致系统崩溃或返回HTTP状态码500的错误页面。本文将详细介绍Tomcat内存溢出之解决方法,包括问题分析、解决方法和...
"TOMCAT内存大小调整" TOMCAT内存大小调整是指在使用Java程序从数据库中查询大量数据或应用服务器(如Tomcat、JBoss、WebLogic)加载jar包时,出现java.lang.OutOfMemoryError异常的解决方法。这种异常主要是由于...
- 如果代码中存在循环套接层数过多或死循环的情况,也会导致资源无法正常释放,进而引发内存泄漏。 3. **EJB组件的支持限制**: - Tomcat本身不支持EJB(Enterprise JavaBeans)组件的开发。因此,在开发J2EE...
这种情况常见于生产环境中Tomcat内存设置不良,或者应用程序本身存在内存泄露的情况。 根据实际情况和相关资料,Tomcat内存溢出的原因可以分为三种情况: 1.OutOfMemoryError:Java heap space 这种情况是由于...
4. **监控和分析**:使用JMX(Java Management Extensions)或者第三方工具(如VisualVM,JProfiler)实时监控Tomcat的内存使用情况,帮助找出内存泄露的源头。此外,JVM的堆转储(Heap Dump)文件也能提供详细的...
- **优化程序代码**:检查是否有内存泄漏等问题,并进行修复。 ##### 2. OutOfMemoryError:PermGen space **原因分析:** PermGen空间主要用于存储类元数据、静态变量等信息。当该区域无法再分配新的对象时,就会...
可以监测tomcat设置的内存是否生效,监测当前使用的内存和剩余内存,监测当前在线用户量。不错的工具,作为一个tomcat的web项目运行,不需要额外安装插件和程序。登录用户直接使用tomcat的用户,请有conf\tomcat_...
总结来说,Tomcat内存优化是一个涉及多方面因素的过程,包括理解内存区域、合理设置JVM参数、监控内存使用、排查内存泄漏等。通过这些措施,可以有效避免内存溢出,提升Tomcat服务的稳定性和性能。
Tomcat 内存调优文档 Tomcat 是一款流行的 Java 服务器,但是在高并发和大数据量的情况下,Tomcat 的性能可能会下降。本文档主要介绍 Tomcat 的内存调优设置,包括堆大小设置、回收器选择等,以提高 Tomcat 的性能...
### Eclipse + Tomcat 内存溢出参数设置详解 在Java开发过程中,特别是在使用Eclipse作为集成开发环境(IDE)并结合Apache Tomcat服务器进行Web应用开发时,经常会遇到内存溢出的问题。这类问题通常表现为应用程序...
**修改TOMCAT内存的方法详解** Apache Tomcat是一款流行的开源Java Servlet容器,它用于部署和运行Java Web应用程序。在处理大型或复杂应用时,可能需要调整Tomcat的内存配置以优化性能。本文将详细介绍如何在不同...