如何检查 idea 卡顿的原因

2021-08-18 17:39:27 +08:00
 gibber

频繁出现代码敲着敲着就卡住几秒 期间切换出来操作其他程序都正常 cpu 和内存占用都不高 有工具可以检查是什么导致的吗

2953 次点击
所在节点    程序员
19 条回复
OnlyO
2021-08-18 17:47:33 +08:00
把启用的插件都一个一个禁掉,排除法试下呢
AoEiuV020
2021-08-18 17:49:35 +08:00
我遇到这问题一般是内存 xmx 用光了,频繁 gc 导致的,
调大 xmx 试试,
yinusxxxx
2021-08-18 17:50:58 +08:00
idea 也是一个 java 程序,平时怎么排查线上问题就可以怎么排查 idea 的问题
chengyiqun
2021-08-18 17:55:28 +08:00
先给 idea 4g 内存试试. 我都是给 6g 的.
Sapp
2021-08-18 17:59:05 +08:00
我的经常用着没问题,但是挂机放个半天一晚上的,再用的时候滑动都卡的一批,重启就解决了,至今找不到什么原因
harwck
2021-08-18 17:59:45 +08:00
把内存加到 64G 就能解决了。
内存占用不高不代表内存够,可能已经开始用 Swap 了
zhady009
2021-08-18 18:02:36 +08:00
IDEA 目录下面有个 log 如果出现卡顿会有个 threadDump 可以看一下
我最近升级 2021.2 遇到了 直接堆加到 8G 就没卡顿了
gibber
2021-08-18 18:13:18 +08:00
@AoEiuV020 我分配的是 2g 看右下角的内存占用还不到 1g 先加到 4g 试试吧
efaun
2021-08-18 18:59:18 +08:00
@OnlyO #1 难道不应该用二分法😒
Mogugugugu
2021-08-18 19:20:21 +08:00
帮助->诊断工具
gibber
2021-08-18 20:20:53 +08:00
@zhady009 没有 log 和 threadDump 是 2018 版本没有吗
Mogamigawa
2021-08-18 22:47:58 +08:00
禁用掉用不着的插件,你的开启加载速度会有明显提高。
加大 xmx,在加载项目和建立索引 indexing 的时候会加快速度。
在 indexing 时可以设置选择 share index,跳过为 jdk 建立索引。
有的输入法在输入中文时会使 idea 卡顿,具体哪个输入法不会卡顿或者卡顿次数少需要自己尝试。
以上是我摸索出来的经验
xmh51
2021-08-18 22:49:15 +08:00
项目开的多的话,保留的越少,速度越快
gibber
2021-08-18 22:53:07 +08:00
@Mogamigawa 设置方面都用好久没改过了 插件也没动过 是最近几天才开始出现的卡顿
gabon
2021-08-18 23:07:21 +08:00
装阿里的语法检查插件了吗,我之前 idea 卡顿然后用 jstack 分析 idea 进程,发现有很多线程都在执行 classnotfoundexception,调用栈都是 alibaba.p3cxxx,推测是阿里语法插件不兼容,卸了就好了。可以参考这个思路用 jstack 分析一下。
flavoury
2021-08-18 23:09:46 +08:00
如果是 2021 的 idea,本来就卡…我回退了,当然我只是提供一个思路,不一定对哈。
另外 xms,xmx 都挺重要的,如果卡且硬件够的话就弄大一点
2i2Re2PLMaDnghL
2021-08-19 10:10:22 +08:00
@efaun 插件可能存在交叉干扰,你一个个禁才是二分,你要禁一半就是直接开对数了。
wolfie
2021-08-19 14:08:06 +08:00
公司机器 16G,算上 swap 已使用都 40G 了。
reliefe
2021-08-20 13:26:08 +08:00
同样的情况,Java 程序无法响应基本上都是因为在 GC 。在 vmoption 中打开 GC 日志 tail -f 观察观察 GC 时间和 GC 原因,再做调整。
```
-Xloggc:/Users/xxx/Desktop/idea-gc/gc.log
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
```

我的调整:
1. 内存增大到 10G,年轻代 5G 。这个可以适当调小,最好不小于 4G 。
```
-Xmx10G
-Xms10G
-Xmn5G
```

2. 使用 CMS + ParNew 。G1 用起来太迷了。
```
-XX:+UseConcMarkSweepGC
-XX:ParallelGCThreads=8
-XX:ConcGCThreads=7
```

3. metaData 调到 1G 。( 512M 居然不够用)
```
-XX:MetaspaceSize=1G
-XX:MaxMetaspaceSize=1G
```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/796599

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX