【问题标题】:SonarQube CLI Scanner cannot reserve heapSonarQube CLI Scanner 无法保留堆
【发布时间】:2018-07-10 06:03:03
【问题描述】:

我正在使用从 Windows 构建代理(Windows 10 Datacenter 64 位)上的 TFS 实例启动的 SonarQube CLI 扫描程序来分析(相当大的)PHP/JS 项目。

这曾经运作良好,最近作业因 SonarQube 扫描仪报告而失败:

Could not reserve enough space for 3135488KB object heap

我试过设置

SONAR_SCANNER_OPTS = -Xmx4G

这似乎没有任何效果。

这可以连接到 Java VM(32 位,最新版本)吗?此外,TFS 使用的最新 SonarQube 运行器被列为版本 3.1.1,并且似乎在问题开始时已安装。巧合?

是否可能/我应该使用 64 位 Java VM?

任何关于如何让它再次运行的建议将不胜感激。

【问题讨论】:

  • 如this case提到的-Xmx4G运行JVM怎么样?

标签: java tfs sonarqube sonarqube-scan


【解决方案1】:

我们不希望扫描仪需要如此大量的内存。即使对于一个大项目,大多数处理都是一个文件一个文件,所以假设你需要的内存主要取决于最大文件的大小,而不是文件的数量。 请尝试减小 Xmx 参数(1G 应该绰绰有余)。我知道在 Windows 上,它可能会导致问题(尤其是在 32 位上)。

如果您在分析过程中遇到 OutOfMemory 问题,请打开一个包含 SonarQube 用户组详细信息的新线程,以便我们进行调查。

【讨论】:

  • 感谢您的建议。我的印象(通过阅读)扫描仪试图估计操作所需的内存。我的问题通过切换到 64 位 Java VM 得到解决,尽管它能够在不更改参数的情况下保留堆。
猜你喜欢
  • 2017-09-15
  • 2017-09-30
  • 2012-05-14
  • 2018-10-26
  • 2014-02-28
  • 2013-01-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多