[英]Why would my spring boot application will shut down automatically?
更新:我已經按照 spring 引導部署安裝為 init.d 服務(系統 V)。 我成功啟動了我的應用程序。但是,一天后。我的應用程序再次關閉......有什么方法可以幫助我嗎?
我有一個名為 my.jar 的 spring 啟動應用程序。 I put it into my ubuntu server(20.04) and use the command of nohup java -jar my.jar & .In the first few hours, my application is in good condition.But,after one or two days,it will shut down automatically .
我已經看到我的應用程序的日志沒有記錄任何錯誤並在退出之前保存了最后一個正確的日志
目前的情況是我的申請很簡單,只有很少的訪問量。 根據我的猜測,ubuntu 似乎因為不活動而殺死了我的進程?
我的腳本如下,
停止.sh:
#!/bin/bash
PID=$(ps -ef | grep centre-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill $PID
fi
運行.sh:
#!/bin/bash
echo stop application
source stop.sh
echo start application
source start.sh
開始.sh:
#!/bin/bash
nohup java -jar centre-0.0.1-SNAPSHOT.jar &
我需要我的應用程序一直運行。 有沒有辦法解決這個問題?
nohup
更適合運行預計將在一段時間后結束的進程。 例如運行一個冗長的批處理腳本。 至於為什么它被殺死,可能有很多原因:memory 泄漏,服務器安全策略....服務器可能認為您的程序行為不正確。 服務器的日志,如dmesg
或/var/log/
內容可能有一些關於它的線索。
你所說的關於你的應用程序接收訪問的感覺更像是一種服務而不是腳本。
您可能想要守護您的程序。 這將使您的程序與服務器可用性相關聯。 這里解釋一下 nohup 和守護進程的區別。 另請查看baeldung 上的此鏈接以獲取有關設置守護程序的幫助
在我檢查了memory的使用情況后,才發現我的spring開機使用了很多memory異常。
我通過以下方式解決了它:我用“nohup java -Xms100m -Xmx300m -jar./target/centre-0.0.1-SNAPSHOT.jar &”的命令更新了我的 start.sh
但是,我不明白為什么我的 spring 啟動應用程序使用了很多 memory? 有沒有人可以解釋這種現象?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.