Jvm調(diào)優(yōu)和SpringBoot項目優(yōu)化的詳細教程
一、Jvm調(diào)優(yōu)。
1、先看一下未設(shè)置JVM參數(shù)的情況,默認情況下,沒有設(shè)置任何Jvm參數(shù)。
idea中安裝VisualVM監(jiān)控jvm的圖文教程

2、設(shè)置Jvm參數(shù)。
配置參數(shù):
關(guān)于這些設(shè)置的JVM參數(shù)是什么意思,參考Jvm調(diào)優(yōu)。
-XX:MetaspaceSize=128m (元空間默認大小) -XX:MaxMetaspaceSize=128m (元空間最大大?。? -Xms1024m (堆最大大小) -Xmx1024m (堆默認大?。? -Xmn256m (新生代大?。? -Xss256k (棧最大深度大?。? -XX:SurvivorRatio=8 (新生代分區(qū)比例 8:2) -XX:+UseConcMarkSweepGC (指定使用的垃圾收集器,這里使用CMS收集器) -XX:+PrintGCDetails (打印詳細的GC日志)
復制參數(shù):
-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails
進行配置:


設(shè)置成功:

知識點:
JDK8之后把-XX:PermSize 和 -XX:MaxPermGen移除了,取而代之的是
-XX:MetaspaceSize=128m (元空間默認大?。?br /> -XX:MaxMetaspaceSize=128m (元空間最大大?。?br /> JDK 8開始把類的元數(shù)據(jù)放到本地化的堆內(nèi)存(native heap)中,這一塊區(qū)域就叫Metaspace,中文名叫元空間。
使用本地化的內(nèi)存有什么好處呢?最直接的表現(xiàn)就是java.lang.OutOfMemoryError: PermGen 空間問題將不復存在,因為默認的類的元數(shù)據(jù)分配只受本地內(nèi)存大小的限制,也就是說本地內(nèi)存剩余多少,理論上Metaspace就可以有多大(貌似容量還與操作系統(tǒng)的虛擬內(nèi)存有關(guān)?這里不太清楚),這解決了空間不足的問題。不過,讓Metaspace變得無限大顯然是不現(xiàn)實的,因此我們也要限制Metaspace的大小:使用-XX:MaxMetaspaceSize參數(shù)來指定Metaspace區(qū)域的大小。JVM默認在運行時根據(jù)需要動態(tài)地設(shè)置MaxMetaspaceSize的大小。
二、項目調(diào)優(yōu),修改配置文件。
其中比較重要的有:
參考文檔
server.tomcat.max-connections=0 # Maximum number of connections that the server accepts and processes at any given time. server.tomcat.max-http-header-size=0 # Maximum size, in bytes, of the HTTP message header. server.tomcat.max-http-post-size=0 # Maximum size, in bytes, of the HTTP post content. server.tomcat.max-threads=0 # Maximum number of worker threads. server.tomcat.min-spare-threads=0 # Minimum number of worker threads.
總結(jié)
到此這篇關(guān)于Jvm調(diào)優(yōu)和SpringBoot項目優(yōu)化的文章就介紹到這了,更多相關(guān)Jvm調(diào)優(yōu)和SpringBoot項目優(yōu)化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用restTemplate.postForEntity()的問題
這篇文章主要介紹了使用restTemplate.postForEntity()的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
SpringBoot執(zhí)行異步任務(wù)Async介紹
這篇文章主要為大家介紹了SpringBoot執(zhí)行異步任務(wù)Async示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09
Spring的FactoryBean<Object>接口示例代碼
FactoryBean是Spring框架中的一個接口,用于創(chuàng)建和管理Bean對象,它的作用是將Bean的創(chuàng)建過程交給FactoryBean實現(xiàn)類來完成,而不是直接由Spring容器來創(chuàng)建,本文給大家介紹Spring的FactoryBean<Object>接口,感興趣的朋友一起看看吧2023-11-11
spring中REST和RESTful的區(qū)別以及基本實現(xiàn)
本文主要介紹了spring中REST和RESTful的區(qū)別以及基本實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-04-04
MyBatis Map結(jié)果的Key轉(zhuǎn)為駝峰式
今天小編就為大家分享一篇關(guān)于MyBatis Map結(jié)果的Key轉(zhuǎn)為駝峰式,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
解決myBatis generator逆向生成沒有根據(jù)主鍵的select,update和delete問題
這篇文章主要介紹了解決myBatis generator逆向生成沒有根據(jù)主鍵的select,update和delete問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09

