日期:2014-05-17  浏览次数:20900 次

服务器每天宕机2次,如何解决
    单位用的服务器,tomcat6.0,sql server 2008 R2,系统是win 2003 server 64位,内存显示为6.9G。以前是单线接入,半个月前改为双线接入,并且数据库针对一个IP开放了1433端口。
  现在出现的情况是,服务器运行一段时间就宕机,内存从开始的3G左右增长到5.8G 左右。将SQL重新启动后内存就降下来,而且网站恢复正常,运行10多个小时后,又出现这个状况。将SQL最大内存调整为2G,没有任何作用。
   以前服务器也有宕机的情况,但都是运行好长时间后才出现的。服务器是2005年购买的。
   哪位能给个解决思路,谢谢!
------解决方案--------------------
这个频率很高呀。你的 db 和 web 项目部署在同一台机器上了?
------解决方案--------------------
首先看日志,日志有没有什么错误。

其次用JCONSOLE看看内存情况,那块占的多。

根据上面的结果再去分析是不是数据库连接没关,该释放的资源没有释放
------解决方案--------------------
具体问题具体分析啊。
------解决方案--------------------
楼上水的无法直视。。我也来占一层向高手学习一下
------解决方案--------------------
web和db放在一台服务器?那你先看下到底是你的数据库内存吃的多还是tomcat内存吃得多
------解决方案--------------------
一是程序和数据库分成两个机器试下,如果问题依旧就要检查代码的性能问题了
------解决方案--------------------
   压力测试一下吧,看看那段代码有问题,我觉得应该是你们的程序有问题,内存一直无法回收。导致内存不够用了。
------解决方案--------------------
看看日志,具体问题具体分析
------解决方案--------------------
引用:
首先看日志,日志有没有什么错误。

其次用JCONSOLE看看内存情况,那块占的多。

根据上面的结果再去分析是不是数据库连接没关,该释放的资源没有释放

------解决方案--------------------
引用:
Quote: 引用:

首先看日志,日志有没有什么错误。

其次用JCONSOLE看看内存情况,那块占的多。

根据上面的结果再去分析是不是数据库连接没关,该释放的资源没有释放

靠谱
------解决方案--------------------
一台 哪够用 多搞几台
------解决方案--------------------
数据库为啥会占这么多,在获取了数据后一直不释放吗? 这个得好好排查一下 
------解决方案--------------------
最好检查下你们写的代码!
------解决方案--------------------
程序的问题可能性极大,应该和 tomcat  没什么关系。只是个人感觉 
------解决方案--------------------
引用:
      开发公司的说是有外部计算机频繁连接数据库导致内存增长,也不知道到底是不是这个原因。


频繁连接....感觉是不是连接完了没有进行相应释放啊
------解决方案--------------------
目测是内存溢出, 可以DUMP 出来用 MAT 分析