記一次tomcat自動退出問題
阿新 • • 發佈:2018-08-26
set 一句話 ESS 通過 可能 一段 eat memory ces
問題
環境: centos/tomcat8/jdk1.8
最近遇到部署在服務器的tomcat總是過一段時間就自動結束進程 ;
通過監控tomcat 日誌文件(tail -f ./logs/catalina.out
)並沒有發現有任何異常
分析解決
- 通過網絡搜索是因為可能是由於Linux OOM Killer導致
- 監控
/var/log/messages
發現確實由於這種原因
tail -f /var/log/messages ... Jun 17 15:31:00 robinjzy kernel: Out of memory: Kill process 17404 (java) scd Jun 17 15:31:00 robinjzy kernel: Killed process 17404 (java) total-vm:235268ile-rss:0kB, shmem-rss:0kB ...
Linux OOM Killer的描述中有這樣一句話
Any particular process leader may be immunized against the oom killer if the value of its /proc/
如果將其/proc//oomadj的值設置為常量OOM_DILD(當前定義為-17),則可以對任何特定的進程領導人進行OOM殺手免疫。
依此做為解決的依據;
解決
- 參考:https://backdrift.org/oom-killer-how-to-create-oom-exclusions-in-linux
記一次tomcat自動退出問題