各位朋友,向大家请教一下,我们用struts1.2+tomcat5.5+mysql5.1+c3p0连接池开发一个web应用网站。 
现在我们遇到的问题是:现有已经开发的几个模块,部署到linux服务器上,服务器使用的tomcat5.5,运行一段时间就会出现死机的现象,不能登陆及查询(即:数据库操作无响应),刚开始我们初步判断是连接池的原因(因为我们连接池用的单例模式,之前由于考虑不全,出现了两个连接池对象),但是后面我们已经修改了连接池,只有一个连接池对象,再发布测试还是出现这个现象。我们还是不能确定问题出现在哪里, 只是怀疑连接池的问题,我们又做了修改(将c3p0 连接池修改为struts1.2的数据源配置),再次发布到服务器上测试,还是出现相同的问题。 
现在我们能推断的问题原因有以下几种情况: 
    1.连接池问题        (不能确定,应为我们修改了两次连接池,还是出现相同的问题) 
    2.tomcat 死掉      (不能确定,网上查找了资料,已经修改了tomcat启动参数 设置jvm 的虚拟内存: set JAVA_OPTS=-Xms512m -Xmx512m) 
    3.mysql 数据库死掉 (不能确定,如果是数据库服务器死掉,但是通过mysql的客户端可以正常操作查询等一些操作) 这个问题我们已经解决了一个礼拜,到现在为止还没有找到问题的原因,请大家看看,指教一下, 看看问题的原因出现在什么地方,导致出现死机现象 
谢谢大家!!

解决方案 »

  1.   

    set JAVA_OPTS=-Xms512m -Xmx512m
    如果你的应用访问的人比较多,可以改大点这个参数。
    另外,需要检查代码,看看有没有死循环方面的问题。
    祝楼主顺利!
      

  2.   

    我们程序里两个线程,每15分钟扫描一次数据库中的表!我们对数据库的每一次操作后, 都会关闭ResultSet 、Statement、Connection等一些数据库操作对象!
      

  3.   

    写LOG,看请求到了哪一层后没有回来。
      

  4.   

    我们在window 开发环境上进行测试,还是会出现这个问题!
    我跟踪过它的执行过程,应该是在查询数据库这个一个环节, 因为我打印了sql语句,sql语句正确打印,没有返回查询结果!
    但是在后面的测试过程中,好像访问页面也变的很慢,甚至无法访问!