Clion打开新项目时Building symbols时间过长解决方案

Clion打开新项目时Building symbols时间过长解决方案

Clion是一款由JetBrains开发的体验非常出色的C/C++的IDE

这个IDE会在创建或者第一次加载新项目时,为所有头文件加索引和标记,t同时引入系统头文件("CLion should index and build symbols for all header files, including system headers. ")

这会导致Clion在第一次打开一些大型项目,比如PHP源码目录时,会非常卡,卡在Building symbols,甚至整个软件不断crash,对开发者造成苦恼。


那么怎么解决呢?

我们先打开Clion的内存监控,(Preferences | Appearance & Behavior | Appearance | Show memory indicator)

这时,会发现底部信息栏上多了一个窗口,显示内存占用


这时我们发现在Building symbols时,Clion的内存占用迅速飙升,并且几乎打满了内存使用上限。

所以这时我们最简单的解决办法就是调大Clion的内存使用上限。怎么弄呢?

先找到Clion的JVM配置(IDE_HOMEin<product>[bits][.exe].vmoptions

其实就是安装目录下,bin目录,vmoption结尾的文件

编辑器打开后如下:

-Xss2m-Xms256m-Xmx2000m-XX:NewSize=128m-XX:MaxNewSize=128m-XX:ReservedCodeCacheSize=240m-XX:+UseConcMarkSweepGC-XX:SoftRefLRUPolicyMSPerMB=50-ea-Dsun.io.useCanonCaches=false-Djava.net.preferIPv4Stack=true-XX:+HeapDumpOnOutOfMemoryError-XX:-OmitStackTraceInFastThrow

找到Xmx这行,我们发现系统默认的内存使用上限是2000M,其实已经很大了,但是遇到极端情况也没辙。

这时我们将这行改为

Xmx4000m

然后保存

重启Clion后,我们会发现:


内存上限已经变大了

这时再打开刚刚的大型项目,Building symbols时的速度就快得多了,注意如果不改代码的话,Building symbols只会在项目第一次加载时进行

推荐阅读