Tomcat内存溢出及线程紊乱问题研究
摘要在很多基于B/S结构的网站架构中WEB容器内存溢出及线程紊乱问题比较隐蔽很多时候在测试阶段并不能发现只有在现实中大规模数据和高并发量的情况下问题才逐渐的暴露出来。因此在网站正式发布前代码进行走查和技术改进并修改相关服务器软件的配置可以在很大程度上减少此类事件的发生。本文以Tomcat为例对WEB容器在数据传输过程中内存溢出及线程紊乱的表现、原因及解决方案作了简要论述。
关键词 TomcatWEB容器 内存溢出线程紊乱
随着Interne t技术的普及各地方学校、研究所和商业单位都在积极进行基础教育资源网和资源库的建设。然而随着资源网使用人数的不断增加其并发量也在急剧增长对WEB服务器的承压性和稳定性提出了新的挑战。然而大多数WEB容器均有内存限制因此在服务器没有内存还有很大空缺的情况下WEB容器内存首先溢出经常报“OutO fMemo ry”错误并与其他因素一道引发了线程紊乱导致应用系统的某些功能重复执行并且引起了数据库服务器崩溃、系统越来越慢直到死机等问题。
随着互联网技术的发展基于WEB容器大规模数据传输以及并发量的需求已经日渐突出而数据传输效率、WEB应用服务器性能以及应用系统的稳定性等因素直接影响了数据传输的质量。在以Tomcat为WEB容器的环境中若以上问题处理不当则很多时候表现为Tomcat内存溢出以及线程紊乱造成服务器宕机严重影响正常的网站运行。
1Tomcat内存溢出及线程紊乱的主要表现
Tomcat内存溢出主要是通过系统速度、系统性能表现以及系统日志来反映的。通过对日志文件和系统表现的分析与判断即可断定是否为内存溢出线程紊乱是指在Web容器中发生的线程异常的情况其很多时候是在内存溢出之后出现的通过对应用系统的操作日志及WEB容器的相关日志即可判断。
1.1Tomcat内存溢出主要表现
1系统的速度越来越慢甚至出现死机的现象。
2在Tomcat日志中 出现“O utO fMemoryError”提示。
3设置Xrunp mij vmp ipro file r检测过度使用的对象两次垃圾回收操作间隔最佳平均时间应至少为每次垃圾回收所用掉的平均持续时间的5-6倍。如果低于这个时长则可判断系统内存资源已出现紧张。
4查看GC 日志中每次垃圾回收显著增加后立即使用的内存量。如果显示锯齿模式并且锯齿模式具有不规则的形状更像楼梯则存在内存溢出。
在2014年发现原来使用VPS的客户需求慢慢的在改版,VPS已经不能满足客户的需求。我们开始代理机房的独立服务器,主推和HS机房的独立服务器。经过一年多的发展,我们发现代理的服务器配置参差不齐,机房的售后服务也无法完全跟上,导致了很多问题发生,对使用体验带来了很多的不便,很多客户离开了我们。经过我们慎重的考虑和客户的建议。我们在2015开始了重大的改变, 2015年,我们开始计划托管自己...
中秋节快到了,spinservers针对中国用户准备了几款圣何塞机房特别独立服务器,大家知道这家服务器都是高配,这次推出的机器除了配置高以外,默认1Gbps不限制流量,解除了常规机器10TB/月的流量限制,价格每月179美元起,机器自动化上架,一般30分钟内,有基本自助管理功能,带IPMI,支持安装Windows或者Linux操作系统。配置一 $179/月CPU:Dual Intel Xeon E...
我们一般的站长或者企业服务器配置WEB环境会用到免费版本的宝塔面板。但是如果我们需要较多的付费插件扩展,或者是有需要企业功能应用的,短期来说我们可能选择按件按月付费的比较好,但是如果我们长期使用的话,有些网友认为选择宝塔面板企业版或者专业版是比较划算的。这样在年中大促618的时候,我们也可以看到宝塔面板也有发布促销活动。企业版年付899元,专业版永久授权1888元起步。对于有需要的网友来说,还是值...