最近写完代码跟朋友上号打游戏经常出现忘记关 IDEA 导致游戏帧数暴降,一开任务管理器发现什么都不动 IDEA 都在疯狂吃 CPU,应该是在GC,看了下原先的配置文件 Xmx 已经给到 4g 了,好像还是不够。不知道为什么,原先居然默认用的G1(低内存下不如ParNew+CMS),搜了一下,换成 ZGC 更适合 IDEA 的工况。索性就换上了。实际使用测试了下,感觉更顺了,而且内存占用还更低了,也不会一直在后台 GC 了。顺便在v2上抄了点作业,新配置文件如下:
idea.vmoptions

-Xms1g
-Xmx6g
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=1g
-XX:ReservedCodeCacheSize=1g
-XX:+UseZGC
-XX:+ZGenerational
-XX:ConcGCThreads=4
-XX:ParallelGCThreads=8
-XX:ZCollectionInterval=30
-XX:ZAllocationSpikeTolerance=4

-XX:+IgnoreUnrecognizedVMOptions
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof