- jps
- jstat -gcutil 9448 1000
- jconsole.exe
IDEA调优后的参数#
-server
-Xms3g
-Xmx3g
-XX:NewRatio=5
-Xss16m
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled
-XX:ConcGCThreads=4
-XX:ReservedCodeCacheSize=512m
-XX:+TieredCompilation
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false-Djava.net.preferIPv4Stack=true-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
相关参数介绍#
# 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=4
##################JIT编译器############################
# 代码缓存,用于存放Just In Time编译后的本地代码,如果塞满,JVM将只解释执行,不再编译native代码。
-XX:ReservedCodeCacheSize=512m
# 分层编译,JIT编译优化越来越好,IDEA运行时间越久越快
-XX:+TieredCompilation
# 节省64位指针占用的空间,代价是JVM额外开销
-XX:+UseCompressedOops
# 增大软引用在JVM中的存活时长(堆空闲空间越大越久)
-XX:SoftRefLRUPolicyMSPerMB=50
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djsse.enableSNIExtension=false