Tomcat6不断崩溃

时间:2013-03-26 05:15:38

标签: memory ubuntu memory-management nginx tomcat6

我们在1个RAM的linode(Ubuntu 10.04 32位)上有5个应用程序。最近我们将其中一个应用程序移出了另一个512m的linode。该应用程序基于Java EE构建,在旧服务器上运行相当稳定。然而,在新的服务器上,tomcat(两台服务器上的版本6)偶尔崩溃,没有任何日志。新服务器的唯一区别是我们使用nginx作为旧服务器上的apache2的Web服务器,新服务器使用64位的Ubuntu 12。没有理由怀疑内存泄漏,因为应用程序在旧服务器上表现良好。是否有任何tomcat选项可以防止此类崩溃。我怀疑原因是由于流量导致负载(因为新服务器具有较低的RAM),因为即使在半夜只有大约10个并发用户,tomcat仍然崩溃。对此问题的任何见解将不胜感激。

我检查了RAM的使用情况,tomcat经常占用大约60%的内存而且突然崩溃并转到0.我使用了一个bash脚本并在新服务器上每隔5分钟将其作为一个cron作业运行到检查tomcat是否已关闭并自动重启。这会导致这个问题吗?脚本如下所述

if [ "$(/etc/init.d/tomcat6 status)" == " * Tomcat servlet engine is not running." ]; then /etc/init.d/tomcat6 start; fi

请注意,我不是服务器配置方面的专家。我可以简单地配置一个服务器来安装并运行所需的东西。

2 个答案:

答案 0 :(得分:0)

您将应用程序从32位Hotspot JVM移动到64位Openjdk JVM。在新服务器上,你的内存较少。

首先,我会尝试在新服务器上安装相同的32位Hotspot JVM,看看是否仍然发生崩溃。如果他们这样做,我会开始添加更多内存,并调整xmx等'因此。

答案 1 :(得分:0)

我将RAM升级到1GB,降级到Ubuntu 12,32位,重新安装JVM 32位,现在服务器就像魅力一样。我无法将根本原因归零,但最可能的原因应该是64位操作系统或64位JVM占用过多内存。谢谢你的帮助。