1. 程式人生 > 程式設計 >springcloud專案佔用記憶體好幾個G導致伺服器崩潰的問題

springcloud專案佔用記憶體好幾個G導致伺服器崩潰的問題

問題描述

springcloud專案部署或除錯時,佔用的記憶體特別多。當部署到伺服器上去後,有可能導致伺服器記憶體佔用過多而崩潰。

解決方案

1.本地除錯時,IDEA中新增引數以減少本地記憶體使用

按照下圖點選,新增引數 -Xms64m -Xmx128m

在這裡插入圖片描述在這裡插入圖片描述

2.遠端上線時,命令列新增引數 2.1單個服務直接部署

例如使用nohup執行時,在java與-jar之間新增引數-Xms64m -Xmx128m

nohup java -Xms64m -Xmx128m -jar x.xx-xx.jar &

2.2對每個服務使用dockerFile編排

FROM java:8
COPY *.jar /security.jar
CMD ["--server.port=8080"]
EXPOSE 8080

ENTRYPOINT ["java","-Xms64m","-Xmx256m","-jar","security.jar"]

這是一個完整的dockerfile檔案,最後一行中新增的兩個引數用於控制記憶體大小

引數詳解

設定JVM記憶體的引數有四個:

-Xmx: Java Heap最大值,預設值為實體記憶體的1/4,最佳設值應該視實體記憶體大小及計算機內其他記憶體開銷而定;

-Xms: Java Heap初始值,Server端JVM最好將-Xms和-Xmx設為相同值,開發測試機JVM可以保留預設值;

-Xmn: Java Heap Young區大小,不熟悉最好保留預設值;

-Xss: 每個執行緒的Stack大小,不熟悉最好保留預設值;

到此這篇關於springcloud專案佔用記憶體好幾個G導致伺服器崩潰的問題的文章就介紹到這了,更多相關springcloud佔用記憶體過高內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!