hs_err_pid3164.log 报错问题导致tomcat频繁崩溃

好吧,我表示我要写点什么东西了,虽然这破项目还是问题不断,令我揪心补不已,提心吊胆,额换对手机和扣扣都非常敏感,就怕有人联系我说有问题,但是至少把一个大问题解决了,一个困扰了我好几天,一直找不到头绪,令我连死了的心都有的问题。问题是这样的,我是在给学校的招生部门开发一个招生网站,网站涉及的东西很少,数据处理也不多,都是一些基本的更新和读取功能,还有一个图片上传,网站的访问量也不是很大 同时在线最多也就是八十人这样子,考虑到网站规模比较小,考虑到其他数据库还要在服务器上面安装,怕比较麻烦,为了简单起见 决定选择access作为数据库,用struts2的框架做开发。开发时间很紧,也没有完整的测试,就上线了,好 的,网站做好了也上线了,一切感觉应该没有问题了 可是我想得太好了……上线第二天,老师紧急打电话说网站挂掉了,尼玛这个不得了了,管理服务器的老师看了之后说,可能是tomcat的配置问题,我用的是默认配置,在实际应用中可能人比较多就挂掉了,还有一个就是程序报错比较多,主要是上传的一块出错。
好,配置问题,那我就开始配设置配置文件,把网站的连接数设置的比较大,把内存也分配的足够大 刚开始不知道还可以通过tomcat的主页的statu那里监测网站的运行情况,包括连接数,使用内存等。晚上趁无人在线,把这些都配置好了,以为一切都好了,第二天八点多被叫醒说网站又挂掉了,赶紧起来重启,很多都说是连接数和内存的问题 可是我改了还是有错,一一整天都在找问题,开始知道可以监测网站信息,发现同时在线的人不多,内存足够,白天随时连着服务器 ,网站一挂就计立刻手动重启,尼玛真是寝食难安啊!晚上回去又是很晚,换了tomcat7.0,期望一切能好,第二天又被叫醒,网站又挂了,又赶紧起来搞,但是无从下手,百度出来的还是那些问题。这个时候决定把程序优化一下,一个是上传中读取图片路径无法找到导致流异常关闭,以为是这里内存泄露但是服务器挂掉。把这个解决了,上传时不再报错同时将数据库的statement语句换了 p reparedstatement,又从新设置了查询语句,怕是sql注入问题。这两个都进行了改变,晚上又是很晚替换掉,心想终于搞好了,可是第二天还是挂掉了,连死了的心都有啊,身边无人能帮忙,只能靠自己,确实他们说的没错,不是不能解决问题,而是找不到问题,到这个时候,确实不知道是什么问题了,网站停掉的时间很奇怪,有时候可以有五六个小时,有时候几分钟就停了,很无奈,又得每时每刻都守着,随时准备手动重启,心力交瘁,后来总算找到一个tomcat死机监测工具,每隔一段时间扫描一下是否启动了,暂时可以这么混过去了,至少可以不用自己手动重启,不用你守着了,缓了一口气,到时心里还是不踏实的,每天竟然重启多达十几次 这时令人无法接受的。某天突然看到在tomcat文件目录下有报错文件,报错信息如下,

#
# An unexpected error has been detected by Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c94a1c1, pid=5944, tid=4400
#
# Java VM: Java HotSpot(TM) Client VM (11.0-b15 mixed mode windows-x86)
# Problematic frame:
# C  [ntdll.dll+0x1a1c1]
.....
Heap
 def new generation   total 18240K, used 3156K [0x03060000, 0x04420000, 0x07f20000)
  eden space 16256K,  19% used [0x03060000, 0x03375280, 0x04040000)
  from space 1984K,   0% used [0x04230000, 0x04230000, 0x04420000)
  to   space 1984K,   0% used [0x04040000, 0x04040000, 0x04230000)
 tenured generation   total 241984K, used 28662K [0x07f20000, 0x16b70000, 0x43060000)
   the space 241984K,  11% used [0x07f20000, 0x09b1d8d8, 0x09b1da00, 0x16b70000)
 compacting perm gen  total 19456K, used 19362K [0x43060000, 0x44360000, 0x47060000)
   the space 19456K,  99% used [0x43060000, 0x443488d0, 0x44348a00, 0x44360000)
No shared spaces configured.


之前都是在logs文件夹下看,没有注意到这里,可是问题就是出现在这里,终于,快找到问题了,根据这个信息网上查找了一下,说是jdk的bug,使用时会出现内存访问异常,于是更新了新的jdk,第二天确依然如此,让人很无奈,于是继续查找,终于发现是jdbc,odbc使用access的问题,这是有bug的,这个在使用access时只作为测试使用,不作为正式用途,不然会出错,好像jdk1.7是修复了这个问题了,下了想试一下的,可是用了之后tomcat启动不了,算了,不想再试了,决定换数据库,这个产生的问题又另叙了,换了之后终于是不挂了,算是把这个问题给解决了,终于舒了一口气。唉,只是为了不想有前面装数据库的麻烦,竟然给自己招惹了这么多的不痛快,劳心劳力啊!!所以说工具还是要选好才行,access啊,不堪大用啊!之前java中如此。
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值