【发布时间】: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