解决tomca/JVMt的Memory run out异常中止

解决

 目前我多数是选在周一早上更新系统,然后就到总部开周会。不过似乎近来形成了一个传统,明明运行得好好的东西,一旦我升级完毕开始打算舒心开会时,它就会出问题罢工,直到给急call,尽管系统总是已经经过一定强度的测试了——当然,不是每次都进行过重力测试。升级也实在太频繁了,不可能每次测试完全。上一次是升级了两个小时后开始变慢,经过压力测试和debug后,去除了不算太肯定的一些代码,反正似乎是经受住了严格十倍的测试了,花了我一个星期的工作时间。这一次呢,无非是在外围进行了URL重写,基本上没有处理过tomcat的程序,但在半夜发布后两个小时tomcat就当了机。可是在白天负载要重几十倍地运行了一天,却屁事没有;这可以天知道是什么原因了。    晚上仔细看记录日志,发现当机的原因,应该是由于tomcat在运行时出现out of memory异常,而造成这个异常的原因,估计是由于两个错误反复出现:一个是由于删除了一个被常include的jsp造成的登录界面运行异常(意味着一整天没有人登录过),二是一个同事使用老式的jsp/param方式时没有进行详细的异常判断,反复输出数据类型错误;反正大概是由于反常出现错误导致垃圾来不及清除,最后异常退出了。不过,这个解释也是非常牵强的,因为白天的压力重得多,干吗就不垮呢?    无论如何,还是把jvm的处理内存堆栈打大一点吧。    参考文章http://java.sun.com/docs/hotspot/gc1.4.2/#3.1.%20Total%20Heap|outline,加上把两个错误清除,大概不会再出现同样的情况了。

全文: http://zwwwxy.blogchina.com/blog/article_81038.1378434.html

时间: 2024-10-30 20:27:12

解决tomca/JVMt的Memory run out异常中止的相关文章

[转]如何解决事件导致的Memory Leak问题:Weak Event Handlers

[本文转自<Solving the Problem with Events: Weak Event Handlers>March 26, 2007: Added performance tests, corrected several typos and clarified the performance issues with the lightweight code generation approach.] 1.The Problem (A Recap) As discussed las

Android遇到内存溢出(Out Of Memory)BUG的经验与解决方法

http://blog.csdn.net/ekechang/article/details/6706602 突然出现的Out Of Memory这个BUG导致我们项目中断了好几天,在经过不断地摸索之后,今天终于得到了解决.鉴于其强大的破坏力与多发性(尤其是当开发图形丰富的软件时),在此将解决方法同大家分享,希望大家以后少走弯路,而本人水平有限,如有不当,还望指教! 那么,首先让我们来看看遇到这个BUG时系统输出的Log: 按我们的经验一行一行地分析,发现了报错的原因:bitmap size ex

php运行提示:Fatal error Allowed memory size内存不足的解决方法_php技巧

本文实例讲述了php运行提示:Fatal error Allowed memory size内存不足的解决方法.分享给大家供大家参考.具体方法如下: 有些朋友新配置的环境或自己新写的程序运行时会碰到fatal error: Allowed memory size of 134217728 bytes exhausted错误,这种问题一个是程序写得不好导致的,另一个是环境配置不好也会出现,像php5.1.27+apache2.2.3好像在windows2003中就会出现bug不管你怎么修复都无法解

iOS开发入门:性能优化–内存泄露问题的解决

内存泄漏问题的解决 内存泄漏(Memory Leaks)是当一个对象或变量在使用完成后没有释放掉,这个对象一直占有着这块内存,直到应用停止.如果这种对象过多内存就会耗尽,其它的应用就无法运行.这个问题在C++.C和Objective-C的MRR中是比较普遍的问题. 在Objective-C中释放对象的内存是发送release和autorelease消息,它们都是可以将引用计数减1,当为引用计数为0时候,release消息会使对象立刻释放,autorelease消息会使对象放入内存释放池中延迟释放

out of memory是什么意思

  一.out of memory是什么意思 out of memory英文意思是电脑内存不足,我们都清楚,电脑程序的运行不仅仅对电脑CPU进行消耗,同时对内存也会进行占用,当占用到一定存度就会出现内存不足的情况,这时电脑系统就会出现out of memory错误提示,那么那些情况会出现out of memory情况呢. 1)运行的程序相对占用内存较多,出现这种情况大多是一些特别大型的程序,例如3DsMax,Maya,当然一些CF游戏也会出现. 2)CF游戏客户端版本过低或版本有问题. 3)电脑

iOS开发那些事--性能优化–内存泄露问题的解决

内存泄漏问题的解决 内存泄漏(Memory Leaks)是当一个对象或变量在使用完成后没有释放掉,这个对象一直占有着这块内存,直到应用停止.如果这种对象过多内存就会耗尽,其它的应用就无法运行.这个问题在C++.C和Objective-C的MRR中是比较普遍的问题. 在Objective-C中释放对象的内存是发送release和autorelease消息,它们都是可以将引用计数减1,当为引用计数为0时候,release消息会使对象立刻释放,autorelease消息会使对象放入内存释放池中延迟释放

事件(Event),绝大多数内存泄漏(Memory Leak)的元凶[下篇] (提供Source Code下载)

在上篇中我们谈到:将一个生命周期较短的对象(对象A)注册到一个生命周期较长(对象B)的某个事件(Event)上,两者便无形之间建立一个引用关系(B引用A).这种引用关系导致GC在进行垃圾回收的时候不会将A是为垃圾对象,最终使其常驻内存(或者说将A捆绑到B上,具有了和B一样的生命周期).这种让无用的对象不能被GC垃圾回收的现象,在托管环境下就是一种典型的内存泄漏问题.我们今天将会着重解释其背后的原因.[本篇文章的Source Code从这里下载) 一.CLR垃圾回收简介 在一个托管应用程序中,我们

all installing oracle9i documents under linux platform

oracle Coming soon: Installing Oracle9i RAC on Red Hat Advanced 2.1 (this article will also cover OCFS and FireWire Drives)   Installing Oracle 9i on RedHat Linux 7.1, 7.2, 7.3, 8.0, 9, Red Hat Advanced Server 2.1, and on Red Hat Enterprise Linux Adv

Windows系统中Oracle的ORA-27100错误解析

ora-27100:shared memory realm already exists错误的解决 数据库ora-27100:shared memory realm already exists错误的解决 环境: 操作系统平台 Windows Service 2003 R2 x86 数据库版本   Oracle Enterprise 9.2.0.1 for windows x86 今天一客户数据库启不来了,报ora-27100:shared memory realm already exists