Custom IntelliJ IDEA VM options
# Custom IntelliJ IDEA VM options ##################JVM模式############################ # IDEA的JVM以Server模式啟動(新生代默認使用ParNew) -server ##################內存分配########################### # 堆初始值占用3G,意味着IDEA啟動即分配3G內存 -Xms3g # 堆最大值占用3G -Xmx3g # 強制JVM在啟動時申請到足夠的堆內存(否則IDEA啟動時堆初始大小不足3g) -XX:+AlwaysPreTouch # 年輕代與老年代比例為1:3(默認值是1:4),降低年輕代的回收頻率 -XX:NewRatio=3 # 棧幀大小為16m -Xss16m ##################老年代回收器######################## # 使用CMS老年代回收器 -XX:+UseConcMarkSweepGC # CMS的重新標記步驟:多線程一起執行 -XX:+CMSParallelRemarkEnabled # CMS的並發標記步驟:啟用4個線程並發標記(理論上越多越好,前提是CPU核心足夠多) -XX:ConcGCThreads=8 ##################JIT編譯器########################### # 代碼緩存,用於存放Just In Time編譯后的本地代碼,如果塞滿,JVM將只解釋執行,不再編譯native代碼。 -XX:ReservedCodeCacheSize=512m # 分層編譯,JIT編譯優化越來越好,IDEA運行時間越久越快 -XX:+TieredCompilation # 節省64位指針占用的空間,代價是JVM額外開銷 #-XX:+UseCompressedOops # 增大軟引用在JVM中的存活時長(堆空閑空間越大越久) -XX:SoftRefLRUPolicyMSPerMB=50 # 設為false Idea會提示無法利用Https更新 -Djsse.enableSNIExtension=true -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djdk.http.auth.tunneling.disabledSchemes="" -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -XX:MaxJavaStackTraceDepth=10000 -Dide.no.platform.update=true