Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
解决tomca/JVMt的Memory run out异常中止

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

 目前我多数是选在周一早上更新系统,然后就到总部开周会。不过似乎近来形成了一个传统,明明运行得好好的东西,一旦我升级完毕开始打算舒心开会时,它就会出问题罢工,直到给急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




相关文章

相关软件