1. 程式人生 > >Spring cloud開發的微服務部署到Linux上內存過高的問題

Spring cloud開發的微服務部署到Linux上內存過高的問題

linux系統服務 內存參數 中間 size 但是 aps 內存占用 style 驗證

【問題描述】

  在使用spring cloud過程中一個很嚴重的資源問題就是內存占用過高,而實際上開發測試並沒有很大的量,甚至卻出現了服務無法正常訪問的問題。

【原因分析】

主要是因為:spring cloud的單個微服務部署到Linux系統服務器上時,在8G內存的linux系統電腦上啟動占用的內存就達到1G左右。只部署了5個左右的微服務,內存已經不夠用了。

在網上也看了很多方法,很多人建議在eclipse或者idea上面進行jvm的參數設置:

技術分享圖片 技術分享圖片

技術分享圖片

但是,經過實際的部署驗證發現,還是沒有效果。

根本原因:是由於Spring-Boot工程的啟動參數,spring boot生成的jar包就是一個普通的jar包;
這個jar包的jvm參數,還必須要從java -jar 的命令中,賦值設置內存占用最大最小和初始值才有作用。


【解決方案】

在Linux系統的服務器上面,啟動各個spring cloud的微服務jar包的時候,需要在java -jar 的命令中間增加jvm的內存參數設置:-Xms64m -Xmx128m

nohup java -Xms64m -Xmx128m -jar xxx.xxxx-xxx-xxxxxx-0.0.1-SNAPSHOT.jar &

Spring cloud開發的微服務部署到Linux上內存過高的問題