Java 为什么Tomcat7服务器在Ubuntu上停止运行?

Java 为什么Tomcat7服务器在Ubuntu上停止运行?,java,tomcat,tomcat7,Java,Tomcat,Tomcat7,我有一个Digital ocean实例,Tomcat7服务器正在其上运行 有时它会因为我不知道的原因而自动关闭。也就是说,我启动它,用它做一点工作,然后在几天内什么也不做。然后我尝试连接到它,但它不可用,我必须重新启动它(sudo服务tomcat7 restart) 我希望它能全天候工作(可用),除非我手动关闭它。我在日志文件中没有看到任何错误的堆栈跟踪 服务器在一段时间不活动后关闭的原因可能是什么?我询问了Digital Ocean的技术支持,发现我的droplet中没有交换文件。这很可能是问

我有一个Digital ocean实例,Tomcat7服务器正在其上运行

有时它会因为我不知道的原因而自动关闭。也就是说,我启动它,用它做一点工作,然后在几天内什么也不做。然后我尝试连接到它,但它不可用,我必须重新启动它(
sudo服务tomcat7 restart

我希望它能全天候工作(可用),除非我手动关闭它。我在日志文件中没有看到任何错误的堆栈跟踪


服务器在一段时间不活动后关闭的原因可能是什么?

我询问了Digital Ocean的技术支持,发现我的droplet中没有交换文件。这很可能是问题的原因(当没有物理内存时,进程会因为没有交换文件而被终止)


所以我用这个创造了它。我将看看这是否能解决我的问题。

我也有这个问题,但添加交换空间没有帮助。就我而言,tomcat被杀人凶手拦住了。在系统日志中检查(在Ubuntu上:
/var/log/syslog
):“发送sigkill到…”

要获得有关OOM killer问题的帮助,您可以尝试提高tomcat进程的优先级:
echo-15>/proc/proc\u NUMBER/oom\u adj
(其中PROC_编号是您的特定流程)。有关调整OOM killer的更多信息,请参阅

您可能需要调整tomcat的起始堆大小和最大堆大小、最大永久生成量以及其他参数。您可以通过CATALINA_OPTS环境变量执行此操作,例如:
export CATALINA_OPTS=“-Xms256m-Xmx384m-XX:MaxPermSize=256M”


这两个都对我有帮助。我还有一个cronjob,它可以检查tomcat并在必要时重新启动它

检查您的/opt/tomcat/logs/catalina.out文件大小。如果catalina.out的大小变为2GB,tomcat将崩溃并无法启动,并且没有任何错误消息。您需要为catalina.out设置日志旋转:

sudo apt-get install logrotate
然后创造

/etc/logrotate.d/文件名

将以下内容复制到上述文件(“文件名”)

/var/log/tomcat/catalina.out{copyruncate daily rotate 7
压缩丢失大小为5M}


根据需要更改cron参数。

似乎存在一些内存问题。tomcat是否获得了所需的内存?这里有很多可能的答案,但没有相关信息。你试过联系Digital ocean support吗?你从catalina得到了什么?@Ved如果是内存问题,我想我会在日志中看到
OutOfMemoryError
。Tomcat是否会因为内存问题而关闭,而日志中没有任何内容?@Ved当服务器关闭时,I a)无法在浏览器中打开Tomcat的URL,b)cargo deployer(
mvn cargo:redeploy
)报告错误(我想连接被拒绝)。