# 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