【发布时间】:2016-01-25 12:22:37
【问题描述】:
我在一个大型 Eclipse RCP 项目中使用新的 Eclipse 插件 SonarLint。它非常慢。分析所有插件项目(超过 310 个)需要几个小时。 SonarLint 为每个项目构建创建一个日志,如下所示:
启动 SonarLint ... 加载全局存储库(从缓存中完成)|时间=98ms ... 加载插件索引(从缓存中完成)|时间=3ms ... 加载项目存储库(完成)|时间=3ms ... 加载质量配置文件(从缓存中完成)|时间=45ms ... 加载活动规则(完成)|时间=174ms ... 加载服务器规则(从缓存中完成)|时间=13ms ... JavaClasspath 初始化完成:74003 毫秒 ...
正如我们所见,大部分时间我们都在等待 java 类路径初始化。更糟糕的是:每次保存一个 java 文件后都会进行初始化!
有没有办法加快这个过程?
【问题讨论】:
-
这可能是运行 Eclipse / SonarLint 时堆太小的结果。或者在没有足够(物理)内存的系统上运行带有大堆的 Eclipse。查看系统性能统计信息。打开 JVM 的 GC 日志记录。
-
不。在具有 16 GB RAM 的计算机上使用“-Xmx 8g”JVM 选项。
-
我还希望从缓存加载速度快几倍(几毫秒)。您的 I/O 是否缓慢或过载?
-
你解决过这个问题吗?我面临着类似的问题,16GB 机器和非常不受限制的 VM 设置
-
不,我们刚刚停止使用 SonarLint,直到有人找到解决此问题的方法。