`
Foxswily
  • 浏览: 77437 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

升级 Tomcat 6.0.24+ 享用内存溢出警告

阅读更多

 

项目需要对Tomcat下部署的context做reload,实际效果很差,期间发生PermGen内存溢出。

记得Tomcat6.0.24开始提供内存溢出提示:

 

http://wiki.apache.org/tomcat/MemoryLeakProtection

 

6.0.24开始提供溢出log

6.0.25开始在manager提供 Find Leaks 按钮 —— 其实这按钮意义不大,有价值的信息全在log里了

 

 

果断升级,从tomcat6.0.16升到6.0.29,测试果然发现内存泄漏警告

 

其中一条:

 

严重: The web application [/batch] created a ThreadLocal with key of type [null] (value [ch.qos.logback.core.UnsynchronizedAppenderBase$1@ca95d6]) and a value of type [java.lang.Boolean] (value [false]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
 

 

使用的logback版本0.9.21,存在ThreadLocal泄漏,查看最新版本的logback专门提示修复了bug

 

http://logback.qos.ch/news.html  9.0.26版本fix

 

http://jira.qos.ch/browse/LBCLASSIC-183 bug描述

 

升级后问题解决

 

JDBC的泄漏Tomcat会自动解决,虽然有警告,可以无视(同时Tomcat log的错字...)

严重: The web application [/batch] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
 

 

 

目前遗留了DBCP(Ver 1.3 1.4都存在)的泄漏问题

 

https://issues.apache.org/jira/browse/DBCP-332

 

声称在1.3.1、1.4.1版本修复,不知何时release

 

总结:

从版本号上也能看出来,这功能不怎么重要,tomcat团队也没好意思做多少推广,JreMemoryLeakPreventionListener实现的内存泄漏检测还停留在reload级别上,实际运行的泄漏依然需要profile调试。


 

分享到:
评论
2 楼 Foxswily 2010-12-09  
RonQi 写道
请问楼主,我用的是apache-tomcat-6.0.14解压缩版本
这个版本的log不会报内存溢出异常吗?


6.0.24开始提供log报错功能,仅限于reload、stop时检测。

RonQi 写道
最近经常出现Tomcat假死现象,服务正常,Tomcat没响应,log也不报错,不知道什么情况


字面意思太深奥,假死、服务正常、没响应、不报错....

推断你的意思是Tomcat无响应但log不报错吧,优先看启动参数,heap size 和PermSize有没有给够,再不行就jprofile、jvisualvm调试,坛子里有不少相关文章可以参考。
1 楼 RonQi 2010-12-09  
请问楼主,我用的是apache-tomcat-6.0.14解压缩版本
这个版本的log不会报内存溢出异常吗?
最近经常出现Tomcat假死现象,服务正常,Tomcat没响应,log也不报错,不知道什么情况

相关推荐

    RHEL6+Tomcat6.0.24+JK1.2.32+Httpd2.2.15搭建集群服务器

    RHEL6+Tomcat6.0.24+JK1.2.32+Httpd2.2.15搭建集群服务器完全手册 一个21页的完整教程,绝对够详细。

    RHEL6+Tomcat6.0.24+JK1.2.32+Httpd2.2.15搭建集群文档

    ### RHEL6+Tomcat6.0.24+JK1.2.32+Httpd2.2.15 搭建集群文档 #### 环境配置与准备 **目标概述:** 本文档旨在指导如何在RHEL6.2 x64操作系统上搭建一个基于Tomcat 6.0.24的应用服务器集群,并通过Apache Httpd ...

    Eclipse + Tomcat 内存溢出参数设置

    ### Eclipse + Tomcat 内存溢出参数设置详解 在Java开发过程中,特别是在使用Eclipse作为集成开发环境(IDE)并结合Apache Tomcat服务器进行Web应用开发时,经常会遇到内存溢出的问题。这类问题通常表现为应用程序...

    Apache Tomcat 6.0.24-windows-x64.zip

    在这个特定的压缩包"Apache Tomcat 6.0.24-windows-x64.zip"中,我们聚焦的是6.0版本的Tomcat,专为Windows操作系统设计,并且是64位版本。这个版本发布于较早的时期,但在当时对于64位系统来说是一个重要的里程碑,...

    最新Tomcat6.0.24

    10. **升级与回滚**:如果之前已经安装了旧版本的Tomcat,升级到6.0.24需要注意数据迁移和配置的更新。在出现问题时,了解如何回滚到之前的稳定版本也是很重要的。 总之,Apache Tomcat 6.0.24是一个强大且稳定的...

    数据库更新工具+tomcat内存溢出解决办法+birt

    【Tomcat内存溢出解决办法】 Tomcat是Apache软件基金会的一个开源项目,作为一个流行的Java Servlet容器,它常用于部署和运行Java Web应用程序。内存溢出问题(Out of Memory Error,OOME)在高负载或长时间运行的...

    tomcat8+memcached session共享

    标题中的“tomcat8+memcached session共享”指的是在Tomcat 8服务器中利用Memcached进行session共享的技术实践。在分布式系统中,session共享是一个重要的问题,因为用户在访问不同的服务器节点时,需要保持登录状态...

    Tomcat7+Redis+Session 负载之后session 共享 tomcat jar包

    标题 "Tomcat7+Redis+Session 负载之后session 共享 tomcat jar包" 涉及的是在使用Nginx做负载均衡时,如何通过集成Redis来实现Tomcat7服务器之间的Session共享,从而确保用户在不同服务器之间切换时仍然能够保持...

    在 IntelliJ IDEA 中如何配置 Tomcat 服务器+编程知识+技术开发

    idea配置tomacat,在 IntelliJ IDEA 中如何配置 Tomcat 服务器+编程知识+技术开发; idea配置tomacat,在 IntelliJ IDEA 中如何配置 Tomcat 服务器+编程知识+技术开发; idea配置tomacat,在 IntelliJ IDEA 中如何...

    nginx+tomcat7+memcached所需jar.zip

    nginx+tomcat7+memcached所需jar.zipnginx+tomcat7+memcached所需jar.zipnginx+tomcat7+memcached所需jar.zipnginx+tomcat7+memcached所需jar.zip

    基于Jsp+Tomcat+Filter+Servlet的学生管理系统.zip

    基于Jsp+Tomcat+Filter+Servlet的学生管理系统 基于Jsp+Tomcat+Filter+Servlet的学生管理系统 基于Jsp+Tomcat+Filter+Servlet的学生管理系统 基于Jsp+Tomcat+Filter+Servlet的学生管理系统 基于Jsp+Tomcat+Filter+...

    Tomcat内存溢出的三种情况及解决办法分析

    在生产环境中tomcat内存设置不好很容易出现内存溢出。造成内存原因是不一样的,当然处理方式也不一样。本文就介绍了Tomcat内存溢出的三种情况及解决办法分析

    心理健康管理子系统源码(SSM + Tomcat8.0 + Vue.js + 七牛云服务).zip

    Tomcat8.0 + Vue.js + 七牛云服务).zip心理健康管理子系统源码(SSM + Tomcat8.0 + Vue.js + 七牛云服务).zip心理健康管理子系统源码(SSM + Tomcat8.0 + Vue.js + 七牛云服务).zip心理健康管理子系统源码(SSM + ...

    MyEclipse下tomcat日志输出和内存溢出解决方法.doc

    ### MyEclipse下Tomcat日志输出和内存溢出解决方法 #### 一、问题背景与概述 在使用MyEclipse进行开发时,经常会遇到Tomcat服务器启动后,在部署SSH(Struts+Spring+Hibernate)项目多次后出现崩溃的情况。这通常...

    TOMCAT内存溢出之解决方法

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

    eclipse tomcat启动,内存溢出问题

    ### Eclipse Tomcat 启动时出现内存溢出问题解析及解决方法 #### 一、问题背景与概述 在使用Eclipse集成开发环境部署并运行基于Tomcat的应用程序时,经常会出现“java.lang.OutOfMemoryError: Java heap space”这...

    tomcat_eclipse配置内存溢出

    ### Tomcat与Eclipse配置内存溢出解决方案 #### 背景介绍 在进行Web应用程序开发过程中,尤其是在使用Tomcat服务器结合Eclipse或MyEclipse等集成开发环境(IDE)时,开发者可能会遇到一个常见的问题——内存溢出。...

    apache+mysql+php+phpadmin+zend+tomcat+jsp+perl+cgi.exe

    apache+mysql+php+phpadmin+zend+tomcat+jsp+perl+cgi.exeapache+mysql+php+phpadmin+zend+tomcat+jsp+perl+cgi.exeapache+mysql+php+phpadmin+zend+tomcat+jsp+perl+cgi.exe

    基于 MySQL+Tomcat+Servlet+JSP 的简单作业管理系统.zip

    基于 MySQL+Tomcat+Servlet+JSP 的简单作业管理系统 基于 MySQL+Tomcat+Servlet+JSP 的简单作业管理系统 基于 MySQL+Tomcat+Servlet+JSP 的简单作业管理系统 基于 MySQL+Tomcat+Servlet+JSP 的简单作业管理系统 基于...

    基于SSM+JDK1.8+tomcat7+maven3.6.0的 Web版在线聊天室源码+项目说明.zip

    【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和...基于SSM+JDK1.8+tomcat7+maven3.6.0的 Web版在线聊天室源码+项目说明.zip

Global site tag (gtag.js) - Google Analytics