CLion 2018.2 以及之后的版本打开个小项目,随便打字就跑满所有 CPU 核心还特别卡,有什么优化方法吗?

2019-01-26 20:45:14 +08:00
 nyanyh
MBP 2016,16G 内存,10.14.3
打开个小项目,最大的 cpp 文件只有 1000 行
CLion 2018.2.7-2019.1EAP 之间的版本都试过了,2018.2 稍微好点,2018.3 开始之后的版本都特别卡
JetBrains 所有 IDE 都是这个问题,一打字 CLion CPU 占用 300%多,自动补全要 2 秒才能弹出来,300 行的文件代码着色 1 分钟都没出来
Invalidate Caches 都要按烂了,彻底清除数据重装了好几次都没用

JVM 配置如下
-Xms1024m
-Xmx4096m
-XX:NewSize=128m
-XX:MaxNewSize=128m
-XX:ReservedCodeCacheSize=1024m
7445 次点击
所在节点    macOS
20 条回复
mifly
2019-01-26 21:27:10 +08:00
感觉不像配置的问题,我那 4g 内存的 linux 打字从没卡过,会不会是输入法的问题?
pwrliang
2019-01-26 21:31:39 +08:00
好象是后台负责语法高亮的进程导致的,在菜单中使用省电模式吧。
404neko
2019-01-26 21:42:06 +08:00
妈椰 CLion 也有这个问题么
VS(没有 Code) 出过 只有重装才能缓解 被逼无奈放弃了
kokutou
2019-01-26 22:06:44 +08:00
换 i9 的 mbp
或者换 9900k 的黑苹果
luozic
2019-01-27 00:47:54 +08:00
火焰图跟踪一下,看是那占的 cpu 多
lsmgeb89
2019-01-27 03:21:10 +08:00
直接找 Jetbrain 反馈问题
Mitt
2019-01-27 08:53:00 +08:00
有没有开类似有道翻译的软件还开了划字识别的功能的
zhenjiachen
2019-01-27 10:29:03 +08:00
不要 Invalidate Caches,每次 Invalidate Caches 都会清楚之前简历的缓存和 index,占满 CPU 可能是在 index 你的 include 文件,之后再弄就不会了,缓存建立好之后应该打字就不会卡了
Wicked
2019-01-27 18:41:05 +08:00
我已经放弃 clion,改用 Xcode 了。毕竟是 native app,续航甩 clion 一条街,熟悉之后也挺好用。clion 都轮不到编译链接,随便改几行字风扇就起飞了。至于那个省电模式,开了之后相当于自废武功,连 vscode 都不如。
nyanyh
2019-01-27 21:50:11 +08:00
@lsmgeb89 #6 反馈过了,YouTrack 里好几个性能问题,但是都没有后续解决方案
nyanyh
2019-01-27 21:51:04 +08:00
@Wicked #9 CLion 的 Refactor 好用啊,而且 Xcode 也有不少 bug,代码高亮我这总出问题
Wicked
2019-01-27 22:44:48 +08:00
@nyanyh 单一功能再好用也抵不过核心功能的缺陷。Xcode 虽然也有问题,但 98%的时间能稳定工作就够了。
mousebomb
2019-01-28 12:09:25 +08:00
就是因为这种卡顿我才从 AppCode 和 CLion 转到 XCode 了,XCode 比省电模式的 CLion 强不少
yucao
2019-01-28 15:54:27 +08:00
我是代码提示和着色特别缓慢,不知道为什么,mbp18 高配,害得我已经快会背 api 了...
yucao
2019-01-28 15:55:53 +08:00
此外尤其是容器操作和类型推导,真的要等 2 秒的感觉
peyppicp
2019-01-28 18:37:02 +08:00
-XX:NewSize=128m
-XX:MaxNewSize=128m
-XX:ReservedCodeCacheSize=1024m
你这三个参数配置的有问题吧 为什么新生代要给这么小? 128mb 肯定会导致频繁 gc 新生代啊,CPU 也可能飙升。
还有-XX:ReservedCodeCacheSize=1024m 为何要这么大,这个只是用来存储编译生成的二进制代码。
给你我的 golang 参数作为参考:
-Xms2g
-Xmx2g
-XX:ReservedCodeCacheSize=240m
-XX:+UseCompressedOops
-Dfile.encoding=UTF-8
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled
-XX:+CMSScavengeBeforeRemark
-XX:+UseParNewGC
-XX:+UseCMSCompactAtFullCollection
-XX:CMSFullGCsBeforeCompaction=0
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Xverify:none
nyanyh
2019-01-28 21:00:55 +08:00
@peyppicp #16 使用了你给的配置测试了一下,卡顿少了点,但是多数时间仍然占 300%+CPU,估计是 CLion 自己的问题了,装了个 2016.x 的上古版本一点都不卡
peyppicp
2019-01-28 22:48:33 +08:00
@nyanyh 不太应该 我 idea goland 基本都是这套配置。2018.2 的,改了 jvm 参数后没卡过。
考虑修改这两个参数试试?把 jvm 内存加四 g
-Xms4g
-Xmx4g
peyppicp
2019-01-28 22:51:52 +08:00
@nyanyh 而且怎么也不应该这么卡。看看系统的内存压力是不是很高?是不是有内存页被交换到硬盘上了?
Lattez
2019-01-29 13:34:32 +08:00
基本无解内存不是瓶颈...软件内右下角把级别拉到中等或者关闭会好很多,或者换更好 CPU 配置的台式机用 Windows 或者换 Xcode

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

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

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

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

© 2021 V2EX