天天看點

nohup 挂載多個jar包項目會把前面滴項目kill掉                          nohup 挂載多個jar包項目會把前面滴項目kill掉1,檢視你伺服器記憶體:2,建立一個分區:3,将swap檔案設定為swap分區檔案4,激活swap,啟用分區交換檔案5,檢視分區結果(剛開始是0看到這樣說明就成功了)

                          nohup 挂載多個jar包項目會把前面滴項目kill掉

 nohup我就不解釋了個人了解就是把程式挂載到伺服器,并且伺服器不關閉都會一直運作這樣子。最近遇到一個很頭疼滴問題,就是我用nohup挂載jar項目就會把前面第一個項目kill自動退出掉,網上找了很久都沒有找到這個問題,百度不到。

問題來了:

nohup 挂載多個jar包項目會把前面滴項目kill掉                          nohup 挂載多個jar包項目會把前面滴項目kill掉1,檢視你伺服器記憶體:2,建立一個分區:3,将swap檔案設定為swap分區檔案4,激活swap,啟用分區交換檔案5,檢視分區結果(剛開始是0看到這樣說明就成功了)

  我這個jar程式是通過  nohup java -jar fwq.jar >fwq.log  2>&1 & 方式挂載到伺服器正常使用滴。然後我還想挂載一個8086滴項目到伺服器上面。

然後就出現了這個問題:

nohup 挂載多個jar包項目會把前面滴項目kill掉                          nohup 挂載多個jar包項目會把前面滴項目kill掉1,檢視你伺服器記憶體:2,建立一個分區:3,将swap檔案設定為swap分區檔案4,激活swap,啟用分區交換檔案5,檢視分區結果(剛開始是0看到這樣說明就成功了)

---> kill了你前面一個jar程式,然後各種百度對不對,都沒有找到答案,俗話說聞道有先後,術業有專攻嘛,畢竟你叫一個搞背景滴去搞運維實在頭疼。然後我試了很多次都沒找到答案,包括nohup指令詳細介紹。

nohup 挂載多個jar包項目會把前面滴項目kill掉                          nohup 挂載多個jar包項目會把前面滴項目kill掉1,檢視你伺服器記憶體:2,建立一個分區:3,将swap檔案設定為swap分區檔案4,激活swap,啟用分區交換檔案5,檢視分區結果(剛開始是0看到這樣說明就成功了)

具體可以參考下面:

total1:    表示實體記憶體總量。

used1:     表示總計配置設定給緩存(包含buffers 與cache )使用的數量,但其中可能部分緩存并未實際使用。

free1:     未被配置設定的記憶體。

shared1:   共享記憶體,一般系統不會用到,這裡也不讨論。

buffers1: 系統配置設定但未被使用的buffers 數量。

cached1:   系統配置設定但未被使用的cache 數量。buffer 與cache 的差別見後面。

used2:     實際使用的buffers 與cache 總量,也是實際使用的記憶體總量。

free2:     未被使用的buffers 與cache 和未被配置設定的記憶體之和,這就是系統目前實際可用記憶體。

Linux free -m 詳細說明_風起雲湧2021的部落格-CSDN部落格 //這個是free 參數詳解

問題點:是因為你伺服器記憶體太小,可用空間太小了,這樣會導緻前面滴jar程式kill掉。買服務又很貴,1核2G都要好幾百。

不擔心咋們可以虛拟出一個磁盤分區,自動挂載到上面。

重點來了:

1,檢視你伺服器記憶體:

  free -m

nohup 挂載多個jar包項目會把前面滴項目kill掉                          nohup 挂載多個jar包項目會把前面滴項目kill掉1,檢視你伺服器記憶體:2,建立一個分區:3,将swap檔案設定為swap分區檔案4,激活swap,啟用分區交換檔案5,檢視分區結果(剛開始是0看到這樣說明就成功了)

2,建立一個分區:

dd if=/dev/zero of=/opt/swap bs=1024 count=1024000

選擇一個較大的分區,建立分區檔案(不同伺服器參數不一樣這個不糾結)指令表示在opt分區建立名為swap,大小為1G的虛拟記憶體檔案

nohup 挂載多個jar包項目會把前面滴項目kill掉                          nohup 挂載多個jar包項目會把前面滴項目kill掉1,檢視你伺服器記憶體:2,建立一個分區:3,将swap檔案設定為swap分區檔案4,激活swap,啟用分區交換檔案5,檢視分區結果(剛開始是0看到這樣說明就成功了)

3,将swap檔案設定為swap分區檔案

chmod 600 /opt/swap  --賦予權限

mkswap /opt/swap

nohup 挂載多個jar包項目會把前面滴項目kill掉                          nohup 挂載多個jar包項目會把前面滴項目kill掉1,檢視你伺服器記憶體:2,建立一個分區:3,将swap檔案設定為swap分區檔案4,激活swap,啟用分區交換檔案5,檢視分區結果(剛開始是0看到這樣說明就成功了)

4,激活swap,啟用分區交換檔案

swapon /opt/swap

nohup 挂載多個jar包項目會把前面滴項目kill掉                          nohup 挂載多個jar包項目會把前面滴項目kill掉1,檢視你伺服器記憶體:2,建立一個分區:3,将swap檔案設定為swap分區檔案4,激活swap,啟用分區交換檔案5,檢視分區結果(剛開始是0看到這樣說明就成功了)

5,檢視分區結果(剛開始是0看到這樣說明就成功了)

nohup 挂載多個jar包項目會把前面滴項目kill掉                          nohup 挂載多個jar包項目會把前面滴項目kill掉1,檢視你伺服器記憶體:2,建立一個分區:3,将swap檔案設定為swap分區檔案4,激活swap,啟用分區交換檔案5,檢視分區結果(剛開始是0看到這樣說明就成功了)

 如果要解除安裝虛拟分區空間大家可以參靠這個大佬滴文章

(https://blog.csdn.net/herobacking/article/details/80371242)

咋們現在再來挂載:

nohup 挂載多個jar包項目會把前面滴項目kill掉                          nohup 挂載多個jar包項目會把前面滴項目kill掉1,檢視你伺服器記憶體:2,建立一個分區:3,将swap檔案設定為swap分區檔案4,激活swap,啟用分區交換檔案5,檢視分區結果(剛開始是0看到這樣說明就成功了)

然後在看看記憶體:(我們發現已經用了一些虛拟記憶體了)

nohup 挂載多個jar包項目會把前面滴項目kill掉                          nohup 挂載多個jar包項目會把前面滴項目kill掉1,檢視你伺服器記憶體:2,建立一個分區:3,将swap檔案設定為swap分區檔案4,激活swap,啟用分區交換檔案5,檢視分區結果(剛開始是0看到這樣說明就成功了)

ok,解決了這個問題:問題主要是你伺服器記憶體太小,導緻挂載失敗。(這裡省略一萬字哈哈.......,有一種征服滴感覺哈哈哈,我懷疑你在開車但是我又找不到證據 /調皮,/調皮)