一次Tomcat6.0.33版本号与6.0.44版本号差异所引发的问题

前序(公司应用为Web应用, 部署serverLinux + Nginx + Tomcat )

一天收到公司报警邮件,显示个别机器方法调用严重超时,寻常都是在100ms以内响应的方法,突然某段时间响应时间上升到几秒,開始怀疑是机器的问题,暂时把机器从线上摘掉。重新启动完之后再挂到线上,通过一段时间观察发现各方法响应时间正常。

又过了几天,发现好几台机器都出现这种情况,感觉不是机器的问题,開始对jvm进行分析,通过分析发现,系统young gc耗时从開始的10ms左右慢慢上升到几百毫秒,old区使用超过了90%。并且系统没有进行过full gc,再看其它方法响应时间正常的机器,young gc一般10ms左右。可是每隔一小时运行一次full gc,full gc耗时几百毫秒,而old区差点儿每隔四小时就会清空,感觉机器响应慢的问题与young gc耗时长有非常大关系。通过上网查找资料。发现young
gc耗时与old区使用大小有非常大关系,假设old区使用太大。运行young gc就会非常耗时。导致系统响应时间变慢。

尽管找到了系统响应时间变慢的原因,可是不知道详细是什么原因导致的。由于机器都是同样的,并且也没有显示调用System.gc()的代码,后来通过对照异常机器与正常机器的各项配置,发现正常的机器Tomcat版本号号为6.0.33。异常机器Tomcat版本号号都为6.0.44。咋一看感觉Tomcat版本号都一样。没有区别,只是还是不放心。就找到这两个Tomcat版本号的源代码。查找是否有显式调用System.gc()的方法,通过查找发现,Tomcat版本号6.0.33
的内存泄露监听器JreMemoryLeakPreventionListener。每隔一小时就会调用一次System.gc(),而Tomcat版本号6.0.44的内存泄露监听器调用一次System.gc()的时间间隔为Integer.max
-1 s,差点儿不会显式的调用System.gc()。

以上最终找到了问题所在,Tomcat版本号改为了6.0.33,之后系统恢复正常。

时间: 2024-08-02 16:38:43

一次Tomcat6.0.33版本号与6.0.44版本号差异所引发的问题的相关文章

最新版本号cocos2d­2.0­x­2.0.2使用新资源载入策略!不再沿用-hd、-

?? 前段时间cocos2dx更新了最新版本号cocos2d-2.0-x-2.0.2.也从这个版本号開始对于资源载入与管理都改变了策略. 在之前的载入方式都是通过沿用与cocos2d-iphone一样的载入资源方式,对于图片名后加入-hd,-ipad,-ipadhd方式,当用户开启项目的高清视网膜后就能够默认寻找相应的资源.可是从cocos2d-2.0-x-2.0.2版本号開始,资源载入策略不在如此了.对跨平台整合不清楚的请看cocos2dx最新2.x版本号跨平台整合NDK+Xcode 最新资源

##老版本项目->Xcode7+Swift2.0项目改动可能遇到的问题 > 维护者:PMST > 最后更新日期:2015.6.26 > 版本号:V1.0.0 > Note:倘若

老版本项目->Xcode7+Swift2.0项目改动可能遇到的问题 维护者:PMST 最后更新日期:2015.6.26 版本号:V1.0.0 Note:倘若你的项目转换到swift2.0语法,或多或少会遇到一些问题,该文档因此诞生.鼓励大家一起参与进来,帮助国内Swift的开发和维护. github项目所属:swift2.0_PlaygroundStudyNote 团队博客地址:Optional Swift 个人博客地址:Colourful Code Error Information How

风险分析 DNV GL AS Phast/Safeti Offshore v8.0.33.0 1DVD

板材和型材切割优化OptiCut Pro-PP 5.24k 1CDOptiCut是一个板材和型材切割优化软件,基于功能强大的多模式,多格式,多材料和算法. OptiCut特性的纹理方向,修剪切口,镀边和预切割,库存和后续可重复使用,板周转和参数标签.OptiCut的导入和导出功能与所有主要的电子表格(Microsoft Excel中,等等)兼容,与大多数的橱柜设计软件(百利板,TopWood,Obvie,KitchenDraw,等...) 压力容器计算软件SW6-2011 v3.1 单机版(包含

效率飞速提高Four Dimension Technologies GeoTools v17.0 1CD+AutoHook.2017.v1.0.3.00 1CD

效率飞速提高Four Dimension Technologies GeoTools v17.0 1CD+AutoHook.2017.v1.0.3.00 1CD GeoTools v12.18 1CD     GeoTools写的是测绘.GIS用户心中最初但现在有这个程序它是有用的,只是任何AutoCAD用户相关的足够的命令.GeoTools现在是几乎所有的AutoCAD用户有用.它解决了很多常见的问题和地图生产的要求和编辑AutoCAD是地理数据的一个非常方便的工具捕获(GIS底图).处理.转

错误的类文件:… 类文件具有错误的版本 52.0,应为 50.0

出现问题: 今天在pom.xml中引入了最新版本guava工具包,编译时报了如下错误: [ERROR] E:\workspace\report\src\main\java\indi\johnny\report\template\excel\ExcelXSSFStyle.java:[16,-1] 无法访问 com.google.common.base.Strings错误的类文件: com\google\common\base\Strings.class(com\google\common\base

【OAuth2.0】Spring Security OAuth2.0篇之初识

不吐不快 因为项目需求开始接触OAuth2.0授权协议.断断续续接触了有两周左右的时间.不得不吐槽的,依然是自己的学习习惯问题,总是着急想了解一切,习惯性地钻牛角尖去理解小的细节,而不是从宏观上去掌握,或者说先用起来(少年,一辈子辣么长,你这么着急合适吗?).好在前人们已经做好了很好的demo,我自己照着抄一抄也就理解了大概如何用,依旧手残党,依旧敲不出好代码.忏悔- WHAT? 项目之中实际使用OAuth2.0实现是用的Spring Security OAuth2.0,一套基于Spring S

.NET Core 2.0及.NET Standard 2.0

.NET Core 2.0的发布时间,.NET Core 2.0预览版及.NET Standard 2.0 Preview大概在5月中旬或下旬发布. .NET Core 2.0正式版本发布时间大约在Q3 2017发布,具体我估计大概在8月份左右.同时一起发布的也就是.NET Standard 2.0. Milestone Release Date .NET Core 2.0 Preview Q2 2017 .NET Standard 2.0 Preview Q2 2017 .NET Core 2

.NET Core 2.0及.NET Standard 2.0 Description

NET Core 2.0的发布时间,.NET Core 2.0预览版及.NET Standard 2.0 Preview大概在5月中旬或下旬发布. .NET Core 2.0正式版本发布时间大约在Q3 2017发布,具体我估计大概在8月份左右.同时一起发布的也就是.NET Standard 2.0. Milestone Release Date .NET Core 2.0 Preview Q2 2017 .NET Standard 2.0 Preview Q2 2017 .NET Core 2.

ASP.NET 5已终结,迎来ASP.NET Core 1.0和.NET Core 1.0 转

作者:yourber 命名是非常困难的事情,微软这次为了和ASP.NET4.6做区分,采用了全新的命名方式ASP.NET Core 1.0,它是一个全新的框架. ASP.NET 在过去的 15 年里是个非常不错的"品牌". ASP.NET 4.6 已经支持在生产环境使用:http://get.asp.net. 但是,命名是新的,完全截取自 ASP.NET 框架 -- "ASP.NET 5",但这并不是个好主意,其中一个原因是:5 > 4.6,这样看起来 ASP