V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nyanyh
V2EX  ›  macOS

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

  •  1
     
  •   nyanyh · 2019-01-26 20:45:14 +08:00 · 7454 次点击
    这是一个创建于 2163 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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
    20 条回复    2019-01-29 13:34:32 +08:00
    mifly
        1
    mifly  
       2019-01-26 21:27:10 +08:00 via Android
    感觉不像配置的问题,我那 4g 内存的 linux 打字从没卡过,会不会是输入法的问题?
    pwrliang
        2
    pwrliang  
       2019-01-26 21:31:39 +08:00 via Android
    好象是后台负责语法高亮的进程导致的,在菜单中使用省电模式吧。
    404neko
        3
    404neko  
       2019-01-26 21:42:06 +08:00
    妈椰 CLion 也有这个问题么
    VS(没有 Code) 出过 只有重装才能缓解 被逼无奈放弃了
    kokutou
        4
    kokutou  
       2019-01-26 22:06:44 +08:00 via Android
    换 i9 的 mbp
    或者换 9900k 的黑苹果
    luozic
        5
    luozic  
       2019-01-27 00:47:54 +08:00 via iPhone
    火焰图跟踪一下,看是那占的 cpu 多
    lsmgeb89
        6
    lsmgeb89  
       2019-01-27 03:21:10 +08:00 via Android
    直接找 Jetbrain 反馈问题
    Mitt
        7
    Mitt  
       2019-01-27 08:53:00 +08:00 via iPhone
    有没有开类似有道翻译的软件还开了划字识别的功能的
    zhenjiachen
        8
    zhenjiachen  
       2019-01-27 10:29:03 +08:00 via iPhone
    不要 Invalidate Caches,每次 Invalidate Caches 都会清楚之前简历的缓存和 index,占满 CPU 可能是在 index 你的 include 文件,之后再弄就不会了,缓存建立好之后应该打字就不会卡了
    Wicked
        9
    Wicked  
       2019-01-27 18:41:05 +08:00 via iPhone
    我已经放弃 clion,改用 Xcode 了。毕竟是 native app,续航甩 clion 一条街,熟悉之后也挺好用。clion 都轮不到编译链接,随便改几行字风扇就起飞了。至于那个省电模式,开了之后相当于自废武功,连 vscode 都不如。
    nyanyh
        10
    nyanyh  
    OP
       2019-01-27 21:50:11 +08:00
    @lsmgeb89 #6 反馈过了,YouTrack 里好几个性能问题,但是都没有后续解决方案
    nyanyh
        11
    nyanyh  
    OP
       2019-01-27 21:51:04 +08:00
    @Wicked #9 CLion 的 Refactor 好用啊,而且 Xcode 也有不少 bug,代码高亮我这总出问题
    Wicked
        12
    Wicked  
       2019-01-27 22:44:48 +08:00 via iPhone
    @nyanyh 单一功能再好用也抵不过核心功能的缺陷。Xcode 虽然也有问题,但 98%的时间能稳定工作就够了。
    mousebomb
        13
    mousebomb  
       2019-01-28 12:09:25 +08:00
    就是因为这种卡顿我才从 AppCode 和 CLion 转到 XCode 了,XCode 比省电模式的 CLion 强不少
    yucao
        14
    yucao  
       2019-01-28 15:54:27 +08:00
    我是代码提示和着色特别缓慢,不知道为什么,mbp18 高配,害得我已经快会背 api 了...
    yucao
        15
    yucao  
       2019-01-28 15:55:53 +08:00
    此外尤其是容器操作和类型推导,真的要等 2 秒的感觉
    peyppicp
        16
    peyppicp  
       2019-01-28 18:37:02 +08:00   ❤️ 1
    -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
        17
    nyanyh  
    OP
       2019-01-28 21:00:55 +08:00
    @peyppicp #16 使用了你给的配置测试了一下,卡顿少了点,但是多数时间仍然占 300%+CPU,估计是 CLion 自己的问题了,装了个 2016.x 的上古版本一点都不卡
    peyppicp
        18
    peyppicp  
       2019-01-28 22:48:33 +08:00 via iPhone
    @nyanyh 不太应该 我 idea goland 基本都是这套配置。2018.2 的,改了 jvm 参数后没卡过。
    考虑修改这两个参数试试?把 jvm 内存加四 g
    -Xms4g
    -Xmx4g
    peyppicp
        19
    peyppicp  
       2019-01-28 22:51:52 +08:00 via iPhone
    @nyanyh 而且怎么也不应该这么卡。看看系统的内存压力是不是很高?是不是有内存页被交换到硬盘上了?
    Lattez
        20
    Lattez  
       2019-01-29 13:34:32 +08:00   ❤️ 1
    基本无解内存不是瓶颈...软件内右下角把级别拉到中等或者关闭会好很多,或者换更好 CPU 配置的台式机用 Windows 或者换 Xcode
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2485 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:34 · PVG 23:34 · LAX 07:34 · JFK 10:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.