IntelliJ IDEA 2017.1 JDK 8 性能調優
IntelliJ IDEA 問題描述
IntelliJ IDEA 在 多窗口、多項目協作開發時,MacBook Pro的散熱風扇兇猛地轉動,相關配置如下:
MacBook Pro 配置MacBook Pro (Retina, 15-inch, Mid 2015) 型號名稱: MacBook Pro 型號標識符: MacBookPro11,4 處理器名稱: Intel Core i7 處理器速度: 2.2 GHz 處理器數目: 1 核總數: 4 L2 緩存(每個核): 256 KB L3 緩存: 6 MB 內存: 16 GB Boot ROM 版本: MBP114.0172.B16 SMC 版本(系統): 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參數配置較低,其中配置存放在 文件中,該文件為IDEA 全局配置文件:
-Xms128m -Xmx750m -XX:ReservedCodeCacheSize=240m解決方法修改 文件
定位 文件
該文件存放在 目錄下:
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
修改
用 vi 工具打開 ,其中存在一個 key 元素內容為 的設置,如下所示:
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 參數 為 IDEA 默認配置GC 演算法,將其移除,修改為:
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修改用戶 文件切換當前用戶的IDEA 配置目錄
通過命令行,cd到 目錄下,如本人的機器路徑:
/Users/Mercy/Library/Preferences/IdeaIC2017.1
新建或更新用戶 文件
將新建或者待更新的 文件,更新以下JVM 配置項
-server -XX:+UseG1GC -XX:+UseNUMA -Xms512m -Xmn512m -Xmx8g -XX:MaxMetaspaceSize=512m -XX:ReservedCodeCacheSize=240m調優後觀察風扇旋轉情況
啟動 IntelliJ IDEA 2017.1 後一小時有餘,發現風扇狂轉的問題基本上沒有發生。
JVM 概要情況
通過工具 連接 IDEA 進程,觀察相關數據。
連接名稱: pid: 9743 運行時間: 1 小時 39 分鐘 虛擬機: Java HotSpot(TM) 64-Bit Server VM版本 25.131-b11 進程 CPU 時間: 6 分鐘JVM 參數情況VM 參數:-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
其中用戶 文件中的配置信息已經追加到JVM 啟動參數中:
JVM 內存情況當前堆大小: 376,068 KB 最大堆大小: 8,388,608 KB 提交的內存: 524,288 KB 暫掛最終處理: 0對象 垃圾收集器: 名稱 = G1 Young Generation , 收集 = 58, 總花費時間 = 1.583 秒 垃圾收集器: 名稱 = G1 Old Generation , 收集 = 2, 總花費時間 = 1.930 秒
GC 演算法已經由 切換成了 演算法!
為什麼要選擇用戶 文件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會將全局的 文件覆蓋,因此,選擇用戶的 文件可避免升級配置覆蓋。
※深入理解CSS外邊距摺疊
※話說PHP的Memcache&Memcached這兩個擴展之間的關係,你都摸清楚了嗎?
※收納,本是一件簡單的事
※中國網紅的營銷能量
TAG:推酷 |
※3M 反光鞋面!低調優雅的 Air Jordan 1 「Rox Brown」 即將上架
※巴黎時裝周,Altuzarra2018秋季:低調優雅浪漫女人
※Win10 20H1新版18894推送:資源管理器搜索功能大幅調優
※Spark調優的關鍵—RDD Cache緩存使用詳解
※利用Kubernetes和Helm進行高效的超參數調優
※DDN收購Intel Lustre系統業務,詳解Lustre系統架構、配置和調優
※MySQL 性能調優的10個方法
※低調優雅!近觀全新配色Nike Premier II足球鞋
※Instagram的Python性能調優方法介紹
※Tomcat 調優測試
※前端學Serverless系列-性能調優
※詳解Linux性能調優之tuned特性
※keras參數調優
※Spark 數據傾斜調優
※上海旭輝M-CITY85㎡戶型樣板間,低調優雅的韻律
※如何對分散式 NewSQL 資料庫 TiDB 進行性能調優
※Kafka參數調優實戰
※Win10 19H1繼續調優開始菜單:滑鼠懸停即可自動展開二級目錄
※Tomcat 運維常用調優方式
※Hadoop虛擬化的性能對比和調優經驗