[英]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.