idea CPU过高问题

亲测有效:CPU 从300%降到60%

配置文件位置

idea -> Help -> Edit Custom VM options

具体参数配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#堆栈设置
-Xms4096m
-Xmx4096m
-Xmn3072m
-XX:MetaspaceSize=1024m
-XX:MaxMetaspaceSize=1024m
-XX:+AlwaysPreTouch
-XX:InitialCodeCacheSize=1200m
-XX:ReservedCodeCacheSize=1200m
-XX:+UseCompressedOops
-Dfile.encoding=UTF-8
 
# 采用何种垃圾回收参数
-XX:+UseConcMarkSweepGC
-XX:ParallelGCThreads=4
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
# JIT 参数
-XX:CICompilerCount=2
-XX:TieredStopAtLevel=1
-XX:MaxInlineLevel=3
-XX:Tier4MinInvocationThreshold=100000
-XX:Tier4InvocationThreshold=110000
-XX:Tier4CompileThreshold=120000
 
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf
-Xverify:none
 
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof

 配置后重新启动idea
其实大部分情况下 不是垃圾回收造成的cpu负载过高 而是由于JIT Compiler 及时编译将class文件编译成本地机器代码占用了大量的cpu资源导致的卡顿

配置文件中这部分是控制 JIT compiler

1
2
3
4
5
6
-XX:CICompilerCount=2
-XX:TieredStopAtLevel=1
-XX:MaxInlineLevel=3
-XX:Tier4MinInvocationThreshold=100000
-XX:Tier4InvocationThreshold=110000
-XX:Tier4CompileThreshold=120000

 

最后希望大家自己打开自己的jvisualVM来查看到底是什么导致了自己的idea卡顿的
顺便说一下
oracle-jdk 自带 jvisualVM
open-jdk 没有的jvisualVM需要自己下载
 
https://www.jianshu.com/p/ac72a14afc24

posted on   靠自己的骨头长肉  阅读(2674)  评论(0编辑  收藏  举报

努力加载评论中...
点击右上角即可分享
微信分享提示