SpringBoot項目啟動內(nèi)存占用過高問題及解決
更新時間:2025年09月05日 09:31:43 作者:JAVA·D·WangJing
SpringBoot應(yīng)用啟動占用1G內(nèi)存,訪問量低導(dǎo)致資源浪費,通過調(diào)整JVM參數(shù)(如MetaspaceSize、Xms/Xmx、Xmn、Xss)及使用CMS收集器,可優(yōu)化內(nèi)存使用,減少資源浪費
一、問題描述
在使用SpringBoot 開發(fā)過程中
發(fā)現(xiàn)不管是本地還是測試環(huán)境只要一啟動,動不動就占用1G內(nèi)存
然而本地和測試環(huán)境的訪問量卻并沒有多少,導(dǎo)致資源浪費
二、解決方案(親測可用)
2.1、啟動命令示例(具體配置可根實際情況調(diào)整)
nohup java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -Xms128m -Xmx128m -Xmn32m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC ****.jar >/dev/null 2>&1&
2.2、命令參數(shù)詳解
- -XX:MetaspaceSize=128m:元空間默認大小
- -XX:MaxMetaspaceSize=256m:元空間最大大小
- -Xms128m:堆最大大小
- -Xmx128m:堆默認大小
- -Xmn32m:新生代大小
- -Xss256k:棧最大深度大小
- -XX:SurvivorRatio=8:新生代分區(qū)比例 8:2
- -XX:+UseConcMarkSweepGC:指定使用的垃圾收集器,這里使用CMS收集器
- -XX:+PrintGCDetails:打印詳細的GC日志
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot接口冪等性4種解決方案+避坑實戰(zhàn)指南
接口冪等性,看似簡單,實則關(guān)乎資金安全、用戶體驗和系統(tǒng)穩(wěn)定性,今天,咱們就來聊聊在SpringBoot項目中,如何真正落地接口冪等性,避免成為“背鍋俠”,感興趣的朋友跟隨小編一起看看吧2025-09-09
SpringBoot +Vue開發(fā)考試系統(tǒng)的教程
這篇文章主要介紹了SpringBoot +Vue開發(fā)考試系統(tǒng),支持多種題型:選擇題、多選題、判斷題、填空題、綜合題以及數(shù)學(xué)公式。支持在線考試,教師在線批改試卷。本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2020-05-05
Springboot中使用Filter實現(xiàn)Header認證詳解
這篇文章主要介紹了Springboot中使用Filter實現(xiàn)Header認證詳解,當在?web.xml?注冊了一個?Filter?來對某個?Servlet?程序進行攔截處理時,它可以決定是否將請求繼續(xù)傳遞給?Servlet?程序,以及對請求和響應(yīng)消息是否進行修改,需要的朋友可以參考下2023-08-08
簡單學(xué)習(xí)Java API 設(shè)計實踐
API(Application Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件的以訪問一組例程的能力,而又無需訪問源碼,或理解內(nèi)部工作機制的細節(jié)。需要的可以了解一下2019-06-06
SpringBoot項目中多數(shù)據(jù)源配置方法與使用場景
在 Spring Boot 中配置多數(shù)據(jù)源是一個非常常見的需求,本文將為大家詳細介紹兩種主流的實現(xiàn)方式與使用場景,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-07-07
詳解如何在Java中重寫equals()和hashCode()方法
在 Java 中,equals() 和 hashCode() 方法是 Object 類中定義的重要方法,它們用于比較對象的相等性以及計算對象的哈希值,本文將詳細介紹如何在 Java 中重寫 equals() 和 hashCode() 方法,并討論其最佳實踐,需要的朋友可以參考下2024-08-08

