IDEA的CPU占用率高问题解决方案

打开监控

结果出乎我的意料,从上图可以看到,JIT(即时编辑)占了大头,这也解释了为什么每当我在修改新的代码文件的内容时 CPU 占用率飙升,因为 JIT Compiler 即时编译将 class 文件编译成本地机器代码占用了大量的 CPU 资源导致的卡顿,这下子问题找到了,该研究解决办法了。

解决方法

知道了是 JIT 的锅之后,我们该思考怎么解决它,我在网上参考了一篇博客修改了 JVM 的配置,如下图:

`# 堆栈设置

-Xms2048m
-Xmx4096m
-Xverify:none
-XX:+DisableExplicitGC
-XX:ReservedCodeCacheSize=720m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow

JIT 参数

设置用于编译的编译器线程数

-XX:CICompilerCount=2

开启分层编译

-XX:TieredStopAtLevel=1

控制最大数量嵌套调用内联

-XX:MaxInlineLevel=3

即时编译的东西(没弄懂...)

-XX:Tier4MinInvocationThreshold=100000
-XX:Tier4InvocationThreshold=110000
-XX:Tier4CompileThreshold=120000
`

-XX:CICompilerCount

默认情况下,server JVM的线程数设置为2,clientJVM的线程数设置为1,如果使用分层编译,则线程数将缩放为内核数

-XX:TieredStopAtLevel
开启分层编译

-XX:MaxInlineLevel
默认值为9,控制最大数量嵌套调用内联。

重启idea,好多了


__EOF__

本文作者KURO · Liang
本文链接https://www.cnblogs.com/kuro-liang/articles/16139586.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   KURO、Liang  阅读(3192)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示