##[错误]错误:超出 GC 开销限制 - TFS 构建中的 SonarQube

Posted

技术标签:

【中文标题】##[错误]错误:超出 GC 开销限制 - TFS 构建中的 SonarQube【英文标题】:##[error]ERROR: GC overhead limit exceeded - SonarQube in TFS Build 【发布时间】:2019-03-17 16:05:51 【问题描述】:

我们正在从 TFS CI 任务运行 SonarQube。

在一段时间之前,当我手动触发构建时,SonarQube 分析取得了成功,但相同的构建给出了错误,现在我的用户手动触发也无法正常工作。

[错误]错误:超出 GC 开销限制

当我们使用不同的 TFS 用户配置夜间计划构建时自动触发。

这就是我为SONAR_SCANNER_OPTS 配置系统变量的方式,它在手动触发时工作正常

我已经检查了this 文档,因为它似乎是用户权限问题。

用户权限:

并且,根据这个 TFS 用户拥有构建管理员和项目管理员的访问权限来访问我定义的变量 SONAR_SCANNER_OPTS

【问题讨论】:

在属性字段中传递 SONAR_SCANNER_OPTS 将不起作用。您必须将其定义为环境变量。 【参考方案1】:

只需在 VSTS 构建中设置一个名为 SONAR_SCANNER_OPTS 的变量,其值为 -Xmx8192m,然后再试一次。

在此类似问题中查看 Dinesh 的 cmets:GC overhead limit exceeded using the VSTS task

尝试为Run Code Analysis 任务分配更多内存,而不是 Prepare analysis on SonarQube 任务。

sonar.web.javaOptssonar.ce.javaOpts 也是服务器端的 SonarQube 操作的选项。你不需要担心那些 因为您依赖 SonarCloud。设置这些以进行分析 构建将无效。只需将SONAR_SCANNER_OPTS 设置为你 在您已删除的帖子中看到的确实有效果(即将其设置为 4096 bytes 确实导致 JVM 立即失败)

【讨论】:

嘿@Andy,我们有 TFS。 @DarshanaPatel TFS 和 VSTS 具有相同的构建系统,这也可用于本地 TFS,请尝试一下。

以上是关于##[错误]错误:超出 GC 开销限制 - TFS 构建中的 SonarQube的主要内容,如果未能解决你的问题,请参考以下文章

跟踪“超出 GC 开销限制”错误

Eclipse 崩溃并出现 GC 开销限制超出错误

布局 xml 上的 Java 堆空间错误:超出 GC 开销限制

Android Studio Google JAR 文件导致 GC 开销限制超出错误

如何防止 java.lang.OutOfMemoryError: GC 开销限制在 for 循环期间超出?

超出 Java GC 开销限制 - 需要自定义解决方案