java进阶: JVM参数,以及常用配置说明, 解决idea卡顿问题

本文详细介绍如何通过调整JVM参数来优化IntelliJ IDEA的性能,包括内存分配、垃圾回收器选择及JIT编译器设置等,帮助解决IDE卡顿问题。

目录

 1. jvm参数配置

2. # custom IntelliJ IDEA VM options 

3. 如果idea卡顿可以试试调整参数大小

记得重启

4. 位置在这 如图所示


 1. jvm参数配置

//常见配置汇总 
//堆设置 
-Xms:初始堆大小 
-Xmx:最大堆大小 
-XX:NewSize=n:设置年轻代大小 
-XX:NewRatio=n:设置年轻代和年老代的比值.如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 
-XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值.注意Survivor区有两个.如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5 
-XX:MaxPermSize=n:设置持久代大小
//收集器设置 
-XX:+UseSerialGC:设置串行收集器 
-XX:+UseParallelGC:设置并行收集器 
-XX:+UseParalledlOldGC:设置并行年老代收集器 
-XX:+UseConcMarkSweepGC:设置并发收集器
//垃圾回收统计信息 
-XX:+PrintGC 
-XX:+PrintGCDetails 
-XX:+PrintGCTimeStamps 
-Xloggc:filename
//并行收集器设置 
-XX:ParallelGCThreads=n:设置并行收集器收集时使用的CPU数.并行收集//线程数. 
-XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间 
-XX:GCTimeRatio=n:设置垃圾回收时间占程序运行时间的百分比.公式为1/(1+n)
//并发收集器设置 
-XX:+CMSIncrementalMode:设置为增量模式.适用于单CPU情况. 
-XX:ParallelGCThreads=n:设置并发收集器年轻代收集方式为并行收集时,使用的CPU数.并行收集线程数.

2. # 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

3. 如果idea卡顿可以试试调整参数大小

记得重启

# custom IntelliJ IDEA VM options

-Xms1024m
-Xmx2048m
-XX:ReservedCodeCacheSize=700m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true
-javaagent:c:\windows\rjjm.jar

4. 位置在这 如图所示

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pingzhuyan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值