IntelliJ IDEA 問題描述
IntelliJ IDEA 在 多窗口、多項目協(xié)作開發(fā)時,MacBook Pro的散熱風扇兇猛地轉(zhuǎn)動,相關(guān)配置如下:
MacBook Pro 配置MacBook Pro (Retina, 15-inch, Mid 2015) 型號名稱: MacBook Pro 型號標識符: MacBookPro11,4 處理器名稱: Intel Core i7 處理器速度: 2.2 GHz 處理器數(shù)目: 1 核總數(shù): 4 L2 緩存(每個核): 256 KB L3 緩存: 6 MB 內(nèi)存: 16 GB Boot ROM 版本: MBP114.0172.B16 SMC 版本(系統(tǒng)): 2.29f24IntelliJ IDEA 版本
IntelliJ IDEA 2017.1.5 Build #IC-171.4694.70, built on July 4, 2017 JRE: 1.8.0_131-b11 x86_64 JVM: Java HotSpot(TM) 64-Bit Server VM by Oracle Corporation Mac OS X 10.12.5問題原因
默認的IDEA JVM參數(shù)配置較低,其中配置存放在 /Applications/IntelliJ IDEA CE.app/Contents/bin/idea.vmoptions 文件中,該文件為IDEA 全局配置文件:
-Xms128m -Xmx750m -XX:ReservedCodeCacheSize=240m解決方法 修改Info.plist文件 定位Info.plist文件
該文件存放在/Applications/IntelliJ IDEA CE.app/Contents 目錄下:
total 32 16 -rw-r--r-- 1 Mercy admin 4210 7 11 18:43 Info.plist 0 drwxr-xr-x@ 3 Mercy admin 102 7 11 16:21 MacOS 0 drwxr-xr-x@ 7 Mercy admin 238 7 5 14:06 Resources 0 drwxr-xr-x@ 3 Mercy admin 102 7 5 14:06 _CodeSignature 0 drwxr-xr-x@ 13 Mercy admin 442 7 11 18:00 bin 0 drwxr-xr-x@ 116 Mercy admin 3944 7 5 14:06 lib 0 drwxr-xr-x@ 34 Mercy admin 1156 4 25 15:49 license 0 drwxr-xr-x@ 33 Mercy admin 1122 4 25 15:49 plugins 0 drwxr-xr-x@ 3 Mercy admin 102 7 5 14:06 redist修改VMOptions
用 vi 工具打開Info.plist ,其中存在一個 key 元素內(nèi)容為VMOptions的設(shè)置,如下所示:
VMOptions -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Xverify:none -XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log -XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof -Xbootclasspath/a:../lib/boot.jar
其中JVM 參數(shù) -XX:+UseConcMarkSweepGC 為 IDEA 默認配置GC 算法,將其移除,修改為:
修改用戶idea.vmoptions文件 切換當前用戶的IDEA 配置目錄VMOptions -Dfile.encoding=UTF-8 -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Xverify:none -XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log -XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof -Xbootclasspath/a:../lib/boot.jar
通過命令行,cd到~/Library/Preferences/IntelliJIdeaXX/目錄下,如本人的機器路徑:
/Users/Mercy/Library/Preferences/IdeaIC2017.1新建或更新用戶idea.vmoptions文件
將新建或者待更新的idea.vmoptions文件,更新以下JVM 配置項
-server -XX:+UseG1GC -XX:+UseNUMA -Xms512m -Xmn512m -Xmx8g -XX:MaxMetaspaceSize=512m -XX:ReservedCodeCacheSize=240m調(diào)優(yōu)后觀察 風扇旋轉(zhuǎn)情況
啟動 IntelliJ IDEA 2017.1 后一小時有余,發(fā)現(xiàn)風扇狂轉(zhuǎn)的問題基本上沒有發(fā)生。
JVM 概要情況通過工具JConsole 連接 IDEA 進程,觀察相關(guān)數(shù)據(jù)。
連接名稱:?pid: 9743 運行時間:?1 小時 39 分鐘 虛擬機:?Java HotSpot(TM) 64-Bit Server VM版本 25.131-b11 進程 CPU 時間:?6 分鐘JVM 參數(shù)情況
VM 參數(shù):-Dfile.encoding=UTF-8 -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Xverify:none -XX:ErrorFile=/Users/Mercy/java_error_in_idea_%p.log -XX:HeapDumpPath=/Users/Mercy/java_error_in_idea.hprof -Xbootclasspath/a:../lib/boot.jar -server -XX:+UseG1GC -XX:+UseNUMA -Xms512m -Xmx8g -XX:MaxMetaspaceSize=512m -XX:ReservedCodeCacheSize=240m -Djb.vmOptionsFile=/Users/Mercy/Library/Preferences/IdeaIC2017.1/idea.vmoptions -Didea.java.redist=jdk-bundled -Didea.home.path=/Applications/IntelliJ IDEA CE.app/Contents -Didea.executable=idea -Didea.platform.prefix=Idea -Didea.paths.selector=IdeaIC2017.1
其中用戶idea.vmoptions文件中的配置信息已經(jīng)追加到JVM 啟動參數(shù)中:
-server -XX:+UseG1GC -XX:+UseNUMA -Xms512m -Xmx8g -XX:MaxMetaspaceSize=512m -XX:ReservedCodeCacheSize=240m
JVM 內(nèi)存情況當前堆大小:???376,068 KB 最大堆大小:?8,388,608 KB 提交的內(nèi)存: 524,288 KB 暫掛最終處理:?0對象 垃圾收集器:?名稱 = "G1 Young Generation", 收集 = 58, 總花費時間 = 1.583 秒 垃圾收集器:?名稱 = "G1 Old Generation", 收集 = 2, 總花費時間 = 1.930 秒
GC 算法已經(jīng)由CMS切換成了G1算法!
為什么要選擇用戶idea.vmoptions文件 IDEA 官方的說明Since version 14.0.0, the file /Applications/IntelliJ Idea XX.app/Contents/bin/idea.vmoptions or /Applications/IntelliJ Idea CE XX.app/Contents/bin/idea.vmoptions should be copied to ~/Library/Preferences/IntelliJIdeaXX/idea.vmoptions or ~/Library/Preferences/IdeaICXX/idea.vmoptions.避免升級配置覆蓋
IntelliJ IDEA 版本升級時,除非用戶自行控制,默認情況IDEA會將全局的idea.vmoptions文件覆蓋,因此,選擇用戶的idea.vmoptions文件可避免升級配置覆蓋。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/67361.html
摘要:帶有一個新的調(diào)試器捕獲這改變了堆棧跟蹤相關(guān)各部分用異步代碼執(zhí)行接收器與相應(yīng)地區(qū)的堆棧跟蹤捕獲的異步代碼傳遞發(fā)送方。 反應(yīng)性編程趨勢后,我們的代碼越來越異步。 showImg(https://cscdn.maxleap.cn/2.0/download/NTZmMGQ0NzdhNWZmN2YwMDAxZWJlMjg1/zcf-1eb1a6d0-09be-4382-ad89-8c640cc4...
摘要: /Users/zhangwei/Library/apache-tomcat-8.5.13/bin/catalina.sh run [2017-06-29 09:50:05,057] Artifact awbeciweb:war exploded: Server is not connected. Deploy is not available. 29-Jun-2017 21:50:1...
摘要:注釋處的方法是程序的入口,使用了符號,這是中單行函數(shù)或方法的簡寫,等價于如下代碼方法是框架的入口,如果不返回方法,那么執(zhí)行的是一個控制臺應(yīng)用。 本文首發(fā)于微信公眾號「劉望舒」 前言 最近的Google I/O大會上,F(xiàn)lutter1.5 開始支持移動、Web、桌面和嵌入式設(shè)備,從不溫不火的sky一直進化到如今熱門的Flutter,F(xiàn)lutter的發(fā)展已經(jīng)超出很多人的想象。我對跨平臺技術(shù)一...
摘要:作者簡介大家好我是小虛竹。解決方案清除所有斷點因為以啟動問題啟動提示很慢問題分析原因不小心改動到文件解決方案這個文件不是必要的,可以先備份到桌面,然后刪除。 ?...
閱讀 3917·2021-11-24 09:38
閱讀 3088·2021-11-17 09:33
閱讀 3862·2021-11-10 11:48
閱讀 1234·2021-10-14 09:48
閱讀 3123·2019-08-30 13:14
閱讀 2543·2019-08-29 18:37
閱讀 3386·2019-08-29 12:38
閱讀 1410·2019-08-29 12:30