簡體   English   中英

為什么Tomcat 7服務器停在Ubuntu上?

[英]Why does Tomcat 7 server stop on Ubuntu?

我有一個Digital Ocean實例,運行Tomcat7服務器。

有時它因為我不知道的原因而自行關閉。 也就是說,我啟動它,使用它,然后在幾天內不做任何事情。 然后我嘗試連接到它,但它不可用,我必須重新啟動它( sudo service tomcat7 restart )。

我希望它能全天候工作(可用),除非我手動關閉它。 我沒有在日志文件中看到任何堆棧錯誤跟蹤。

服務器在一段時間不活動后關閉的原因是什么?

我詢問了Digital Ocean的技術支持,發現我的Droplet中沒有交換文件。 這可能是問題的原因(當沒有物理內存時,進程被殺死,因為沒有交換文件)。

所以我使用本教程創建了它。 我會看看這是否能解決我的問題。

我也有這個問題,但添加交換空間沒有幫助。 就我而言,tomcat被OOM殺手攔住了。 在系統日志中檢查這一點(在Ubuntu上: /var/log/syslog ):“發送sigkill到...”

有關OOM殺手問題的幫助,您可以嘗試增加tomcat進程的優先級: echo -15 > /proc/PROC_NUMBER/oom_adj (其中PROC_NUMBER是您的特定進程)。 有關調整OOM殺手的更多信息,請參閱http://www.oracle.com/technetwork/articles/servers-storage-dev/oom-killer-1911807.html

您可能希望調整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/ filename

將以下內容復制到上面的文件(“文件名”)

/var/log/tomcat/catalina.out {copytruncate每日輪播7
壓縮missok size 5M}

根據需要更改cron參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM