最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

idea啟動(dòng)后CPU飆升的問題解決

 更新時(shí)間:2023年05月30日 11:15:50   作者:Ricoh.  
IDEA運(yùn)行大型項(xiàng)目,項(xiàng)目啟動(dòng)卡頓,CPU使用率占用過高,下面這篇文章主要給大家介紹了關(guān)于idea啟動(dòng)后CPU飆升的問題解決,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

解決idea 啟動(dòng)后CPU飆升的問題

CPU飆升是因?yàn)閕dea產(chǎn)生了某種瘋狂消耗CPU資源,可以通過idea自帶的監(jiān)控來來觀察到底是什么進(jìn)程占用了CPU的資源

iead監(jiān)控所在地

Iead監(jiān)控

其實(shí)網(wǎng)上大部分講的都是因?yàn)镴IT(just in time,即時(shí)編譯技術(shù))導(dǎo)致CPU飆升,但是經(jīng)過我的檢測(cè)發(fā)現(xiàn),JIT也僅僅是我的idea卡頓的一部分原因。

配置前:

不配置JIT參數(shù)前

配置后:

可以觀測(cè)到idea CPU還是會(huì)飆升,但是JIT所占用的CPU大幅度下降,說明還是很有效果的。

# JIT 參數(shù)

# 設(shè)置用于編譯的編譯器線程數(shù)
-XX:CICompilerCount=2
# 開啟分層編譯
-XX:TieredStopAtLevel=1
# 控制最大數(shù)量嵌套調(diào)用內(nèi)聯(lián)
-XX:MaxInlineLevel=3
-XX:Tier4MinInvocationThreshold=100000
-XX:Tier4InvocationThreshold=110000
-XX:Tier4CompileThreshold=120000

后續(xù)又發(fā)現(xiàn)是因?yàn)椴粩嗟卦谶M(jìn)行GC導(dǎo)致CPU飆升,因?yàn)槊看蜧C都會(huì)消耗99%的CPU資源,于是想著修改JVM參數(shù)來解決這個(gè)問題。

因?yàn)槲业膇dea是新裝的,他的堆大小參數(shù)為:

-Xms128m
-Xmx2048m

然后查閱資料得知,當(dāng)Xms設(shè)置值比較小時(shí),會(huì)頻繁的觸發(fā)GC,而GC又會(huì)出現(xiàn)STW的情況,所以idea一直GC,那你的idea也必然是一卡一卡的,同時(shí)大部分都推薦相同值,這是為什么呢?

這是為了避免在由于heap內(nèi)存擴(kuò)大或縮小導(dǎo)致應(yīng)用停頓,降低延遲,同時(shí)避免每次垃圾回收完成后JVM 重新分配內(nèi)存。

所以修改后的堆的大小為:

-Xms2048m
-Xmx2048m

然后又發(fā)現(xiàn)自己的GC收集器使用的是CMS,那么讀過JVM這本書的都知道,CMS采用 標(biāo)記-清理 的算法,標(biāo)記出垃圾對(duì)象,清除垃圾對(duì)象。算法是基于老年代執(zhí)行的,因?yàn)樾律a(chǎn)生無法接受該算法產(chǎn)生的碎片垃圾。他的缺點(diǎn)是:

  • 無法清理浮動(dòng)垃圾,并發(fā)收集會(huì)造成內(nèi)存碎片過多
  • 由于并發(fā)標(biāo)記和并發(fā)清理階段都是并發(fā)執(zhí)行,所以會(huì)額外消耗CPU資源

基于此,我將垃圾收集器也替換為了G1,G1的優(yōu)勢(shì)是:

  • 可控制回收垃圾的時(shí)間
  • 和CMS一樣采用標(biāo)記-清理的算法,但是G1不會(huì)產(chǎn)生空間碎片(G1從整體來講是基于標(biāo)記-整理來實(shí)現(xiàn)垃圾回收
    從局部來講,又是把整個(gè)堆,切割為大小均勻的多個(gè)region,region與region之間采用標(biāo)記-復(fù)制算法實(shí)現(xiàn)),這樣就有效的使用了連續(xù)空間,不會(huì)導(dǎo)致連續(xù)空間不足提前造成GC的觸發(fā)。

最后貼出完整的JVM參數(shù):

-server
-XX:MetaspaceSize=128M
-XX:MaxMetaspaceSize=512M
-XX:+AlwaysPreTouch
-Xms2048m
-Xmx2048m
-XX:ReservedCodeCacheSize=512m
-XX:+UseG1GC
-XX:+UseStringDeduplication
-XX:AutoBoxCacheMax=20000
-ea
-Dsun.io.useCanonCaches=false
-Dsun.awt.keepWorkingSetOnMinimize=true
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djsse.enablesSNIExtension=false
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Dfile.encoding=UTF-8

# JIT 參數(shù)

# 設(shè)置用于編譯的編譯器線程數(shù)
-XX:CICompilerCount=2
# 開啟分層編譯
-XX:TieredStopAtLevel=1
# 控制最大數(shù)量嵌套調(diào)用內(nèi)聯(lián)
-XX:MaxInlineLevel=3
-XX:Tier4MinInvocationThreshold=100000
-XX:Tier4InvocationThreshold=110000
-XX:Tier4CompileThreshold=120000

如果以上操作還是不能解決CPU過高的話,還可以打開

1、打開idea設(shè)置 File–>Settings–> Build,Execution,Deployment --> Compiler
2、調(diào)整 Shared build process heap size(Mbytes) 大小,默認(rèn)值700,可修改至 1024(或者自定義數(shù)值)

至于網(wǎng)上還有提出的插件,或者代碼檢查我們也可以去嘗試一下,通過修改里面的配置結(jié)合idea自帶的監(jiān)控來快速準(zhǔn)確定位問題,但是也告訴我們,要對(duì)癥下藥,有自帶的工具去幫你,何樂而不為呢?

總結(jié)

到此這篇關(guān)于idea啟動(dòng)后CPU飆升的問題解決的文章就介紹到這了,更多相關(guān)idea啟動(dòng)后CPU飆升內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Win10下配置VScode遠(yuǎn)程開發(fā)ssh-remote(免密登錄)

    Win10下配置VScode遠(yuǎn)程開發(fā)ssh-remote(免密登錄)

    在開發(fā)或者做實(shí)驗(yàn)的過程中,我們經(jīng)常會(huì)用到遠(yuǎn)程服務(wù)器或者Github的項(xiàng)目,本文詳細(xì)介紹的VScode配置免密ssh+remote,一旦連接成功,我們就可以在本地自己喜歡的IDE上操作遠(yuǎn)程服務(wù)器端的項(xiàng)目了
    2021-08-08
  • 使用roolup構(gòu)建你的lib(實(shí)現(xiàn)步驟)

    使用roolup構(gòu)建你的lib(實(shí)現(xiàn)步驟)

    大家都知道Rollup更加適合用于構(gòu)建lib 而 Webpack, Precel 更加適合開發(fā)應(yīng)用。本文,將結(jié)合一個(gè)簡單的例子說說如何使用Rollup構(gòu)建自己的lib,感興趣的朋友一起看看吧
    2021-08-08
  • vim中tagbar配置以及打字時(shí)隱藏鼠標(biāo)的方法

    vim中tagbar配置以及打字時(shí)隱藏鼠標(biāo)的方法

    這篇文章主要給大家介紹了關(guān)于vim中tagbar配置以及打字時(shí)隱藏鼠標(biāo)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • win10環(huán)境下使用Hyper-V進(jìn)行虛擬機(jī)創(chuàng)建的教程(圖解)

    win10環(huán)境下使用Hyper-V進(jìn)行虛擬機(jī)創(chuàng)建的教程(圖解)

    這篇文章主要介紹了win10環(huán)境下使用Hyper-V進(jìn)行虛擬機(jī)創(chuàng)建的教程,本文圖文詳解給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 4G與5G的區(qū)別有哪些

    4G與5G的區(qū)別有哪些

    說起5G,現(xiàn)在在網(wǎng)絡(luò)中已經(jīng)是很常見的了,亦是未來生活的新標(biāo)桿,接下來我們便一起來學(xué)習(xí)5G和4G有什么不同
    2021-08-08
  • Ceph分布式存儲(chǔ)集群Pool資源池簡介及使用小結(jié)

    Ceph分布式存儲(chǔ)集群Pool資源池簡介及使用小結(jié)

    這篇文章主要介紹了Ceph分布式存儲(chǔ)集群Pool資源池的概念以及使用,Pool資源池是Ceph存儲(chǔ)數(shù)據(jù)的邏輯分區(qū),起到Namespace命名空間的作用,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-06-06
  • 調(diào)用DeepSeek?API的詳細(xì)指南

    調(diào)用DeepSeek?API的詳細(xì)指南

    章詳細(xì)介紹了如何在DeepSeek開放平臺(tái)上獲取API密鑰,并使用Apifox進(jìn)行API調(diào)試,步驟包括登錄平臺(tái)、創(chuàng)建和保存APIKey、配置Apifox環(huán)境變量、導(dǎo)入cURL并設(shè)置Authorization、發(fā)送請(qǐng)求以及根據(jù)需要修改參數(shù)實(shí)現(xiàn)對(duì)話和流式輸出,需要的朋友可以參考下
    2025-02-02
  • Windows使用GitHub Desktop詳解

    Windows使用GitHub Desktop詳解

    本文詳細(xì)講解了Windows使用GitHub Desktop的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 2019最新系統(tǒng)學(xué)習(xí)路線零基礎(chǔ)如何轉(zhuǎn)行大數(shù)據(jù)

    2019最新系統(tǒng)學(xué)習(xí)路線零基礎(chǔ)如何轉(zhuǎn)行大數(shù)據(jù)

    今天小編給你一個(gè)大數(shù)據(jù)工程師具體的學(xué)習(xí)路線圖。非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-06-06
  • chatGPT本地部署、運(yùn)行和接口調(diào)用的詳細(xì)步驟

    chatGPT本地部署、運(yùn)行和接口調(diào)用的詳細(xì)步驟

    這篇文章主要介紹了chatGPT本地部署、運(yùn)行和接口調(diào)用的詳細(xì)步驟,文中給大家介紹了cookie?信息寫入?config.json的三種方式,每種方式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02

最新評(píng)論

邹平县| 沐川县| 正宁县| 青川县| 贡嘎县| 辉南县| 抚顺市| 观塘区| 嵩明县| 泰顺县| 台东县| 红桥区| 海淀区| 南郑县| 平乐县| 呼图壁县| 赤壁市| 紫云| 五原县| 集贤县| 葫芦岛市| 鹤峰县| 汤阴县| 绿春县| 霍州市| 鄂托克前旗| 静海县| 双辽市| 张北县| 柏乡县| 榆林市| 正宁县| 泰和县| 旅游| 神木县| 清河县| 望谟县| 江口县| 巴东县| 航空| 彭泽县|