关于jvm频繁crash的有关问题

关于jvm频繁crash的问题

昨天遇到一个问题,公司的一个军方项目组在使用我们的服务器

在部署应用时频繁的重启,卸载应用时也存在这种现象

而服务器的日志仅捕获了少许信息,详细的关于服务器本身的没有记录,因此怀疑是JVM发生了致命错误使得服务器不及写日志就退出了,于是在服务器bin目录下查找,果然发现了以 "hs_err_pid" 开头的日志名,报的异常大致如下:

# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c938fea, pid=3028, tid=2368
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_12-b04 mixed mode)
# Problematic frame:
# C  [ntdll.dll+0x18fea]
...
Heap
 def new generation   total 4608K, used 3054K [0x027b0000, 0x02ca0000, 0x07670000)
  eden space 4160K,  68% used [0x027b0000, 0x02a7bf50, 0x02bc0000)
  from space 448K,  42% used [0x02bc0000, 0x02befc38, 0x02c30000)
  to   space 448K,   0% used [0x02c30000, 0x02c30000, 0x02ca0000)
 tenured generation   total 58136K, used 38983K [0x07670000, 0x0af36000, 0x427b0000)
   the space 58136K,  67% used [0x07670000, 0x09c81d28, 0x09c81e00, 0x0af36000)
 compacting perm gen  total 63232K, used 63228K [0x427b0000, 0x46570000, 0x527b0000)
   the space 63232K,  99% used [0x427b0000, 0x4656f3c8, 0x4656f400, 0x46570000)
No shared spaces configured.


起初觉得应该是内存溢出导致的, 于是增加内存参数,但问题依旧,而由于军方项目组保密设施比较严格, 没有网络和电话

所以查找问题也比较被动,而且此类问题第一次遇到所以只能怀疑程序本身有问题,是不是操作数据库后没有及时关闭等

但项目组成员反馈,项目组4台机器中两台正常,两台存在此类现象,而且机器硬件配置相同,安装的软件版本也相同。

由于没有好的解决办法,只好回来之后上网搜索相关资料。经google一下后发现,此问题很常见,但都没有好的解决办法

于是按照各网友给出的建议挨个尝试,但都没效果

后来找到一篇文章里面解释了异常的一些信息才有了些许线索。

异常中的

# C  [ntdll.dll+0x18fea]这里的C表示,jvm是在调用本地方法的时候挂了


于是怀疑是不是程序中调用了本地方法,但项目组说就是一个普通的web应用并没有使用任何的本地方法

但异常提示如此所以怀疑是某些软件和jdk冲突,但既然是jvm调用本地方法时出错,就很可能是和杀毒软件有冲突

后对比发现,能正常使用的安装的是卡巴,而不能正常使用的安装的都是nod32.

于是卸载nod32后问题解决。

 

1 楼 fuliang 2008-11-13  
我们使用的基于JavaXPOM的MozillaBrowser经常出现Crash, JavaXPOM使用了本地的xulrunner,尚未找到解决的方案。