当前位置: 代码迷 >> Java Web开发 >> TOMCAT死掉了,咋回事?
  详细解决方案

TOMCAT死掉了,咋回事?

热度:4128   发布时间:2013-02-25 21:14:46.0
TOMCAT死掉了,怎么回事????
这个星期已经是第二次了,今天早上我来到公司,打开公司网站,发现打不开,进服务器看TOMCAT的运行情况,发现已死掉,报如下错误
HTML code
# #   An   unexpected   error   has   been   detected   by   HotSpot   Virtual   Machine: # #     EXCEPTION_ACCESS_VIOLATION   (0xc0000005)   at   pc=0x60007e8e,   pid=2916,   tid=2236# #   Java   VM:   Java   HotSpot(TM)   Client   VM   (1.5.0_04-b05   mixed   mode) #   Problematic   frame: #   C     [kmon.dll+0x7e8e] # #   An   error   report   file   with   more   information   is   saved   as   hs_err_pid2916.log # #   If   you   would   like   to   submit   a   bug   report,   please   visit: #       http://java.sun.com/webapps/bugreport/crash.jsp #


------解决方案--------------------------------------------------------
帮顶
------解决方案--------------------------------------------------------
卸载了,重新安装一下吧
------解决方案--------------------------------------------------------
换台机器试试~

------解决方案--------------------------------------------------------
重装,或是用apache+tomcat

或是用resin
------解决方案--------------------------------------------------------
免费的tomcat 是这样的了。
------解决方案--------------------------------------------------------
期待高手到来,帮LZ搞定!
------解决方案--------------------------------------------------------
看不懂,不过可能是日志问题,看一下tomcat/log下的日志文件多大,把程序中的log级别改成error
------解决方案--------------------------------------------------------
把tomcat的log贴出来看看

有没有定时器之类的,或者调用持久的存储过程?

如果log有异常的话,贴出来看看




------解决方案--------------------------------------------------------
改用resin试试。
可以查看hs_err_pid2916.log,里面有异常信息。
------解决方案--------------------------------------------------------
An error report file with more information is saved as hs_err_pid2916.log -----------------------------------
日志贴出来看看?
------解决方案--------------------------------------------------------
应该是outstream的问题,多个线程同时访问一个outstream,当一个关闭了这个stream,就会出现上述异常
------解决方案--------------------------------------------------------
Stack: [0x28160000,0x281a0000), sp=0x2819e0d4, free space=248k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [kmon.dll+0x7e8e]
============================================
感觉好像栈溢出,但java栈溢出应该报 stackoverflow
而不是jvm崩掉

你程序里面是不是java代码和c或c++代码公用了一个栈?
------解决方案--------------------------------------------------------
也可能是流的处理没做好,但不应该jvm崩掉。。。想不通
------解决方案--------------------------------------------------------
探讨
应该是outstream的问题,多个线程同时访问一个outstream,当一个关闭了这个stream,就会出现上述异常

------解决方案--------------------------------------------------------
你程序里有没有调用什么别的东西公用一个栈?
Stack: [0x28160000,0x281a0000), sp=0x2819e0d4, free space=248k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [kmon.dll+0x7e8e]

总觉得这段jvm崩掉是因为栈引起的,可是栈的话应该出个exception而不是jvm崩掉
感觉思路有点卡在这里死循环了。。。*(@……%@(#)!#%#
------解决方案--------------------------------------------------------
原因可能如下如下:

资源!!! 没有完全释放!!! 用完后要父NULL 值!! 
数据库连接顺序关闭!! 
优化JAVA虚拟机 加入相应的内存参数!
TOMCAT 在LINUX 下不是很稳定! 
String 类型使用,不符合规范!!
不要在数据库中获取大段文本!!! 
JAVA 不推荐 用String 获取大量信息,造成内存溢出就是它!!!


每隔一段时间后,重新启动服务器,是必要的!!
大约2个周左右吧。。。

----------
我遇到的问题,差不多就是这些了! 欢迎指教!!
  相关解决方案