【问题标题】:Sonarqube scanner - Java HotSpot(TM) 64-Bit Server VM warning The paging file is too smallSonarqube 扫描仪 - Java HotSpot(TM) 64-Bit Server VM 警告分页文件太小
【发布时间】:2022-01-07 08:10:26
【问题描述】:

我正在尝试在 docker 虚拟机上运行声纳扫描仪,作为我的私有 Azure DevOps 构建服务器的一部分,但由于页面文件没有足够的内存来完成分析而出现错误。我的 docker 映像正在运行安装了 JDK 11.0.13 和 Sonarqube 扫描仪 5.0.0 的 Windows Server Core 2019 基础映像。服务器还设置了以下环境变量以尝试增加 Java VM 大小:

JAVA_OPTS="-Xms1024m -Xmx4608m"
SONAR_SCANNER_OPTS="-Xmx4608m"

我的映像使用 5GB RAM 运行,并且监视容器显示仍有大量内存可供使用。我注意到,在启动容器后第一次运行扫描时,它运行良好,但之后的每次尝试都会出错:

##[错误]Java HotSpot(TM) 64 位服务器虚拟机警告:INFO: os::commit_memory(0x0000000789c00000, 703594496, 0) 失败; error='分页文件太小,无法完成此操作' (DOS 错误/errno=1455)

有人可以帮我解释为什么当有超过 2GB 的可用 RAM 时它无法分配大约 700MB。

一切的版本是: Azure DevOps 代理:2.194.0 JDK:11.0.13 Sonarqube 扫描仪扩展:5.0.0 码头工人:20.10.7 Docker基础镜像:dotnet/framework/sdk:4.8-gbt-windowsservercore-ltsc2019

【问题讨论】:

    标签: sonarqube azure-pipelines sonarqube-scan sonarqube5.1 azure-devops-server-2020


    【解决方案1】:

    这个问题原来与 JavaXmlSensor 在测试项目中检测到一些非常大的 xml 测试文件有关,它试图将它们加载到内存中并分析它们导致内存不足错误。

    为了解决这个问题,我将 **/*.xml 添加到 sonar.exclusions 中,并将相同的排除列表添加到 sonar.test.exclusions 设置中。

    【讨论】:

      猜你喜欢
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 2014-05-03
      • 2017-02-06
      • 1970-01-01
      • 1970-01-01
      • 2011-04-24
      相关资源
      最近更新 更多