Ben*_*Ben 5 docker-multi-stage-build quarkus
我正在使用多阶段 Docker 构建构建 Quarkus 本机可执行文件,如中所述 Quarkus - Building a Native Executable 中所述
我的项目只包括 Hello World-Example 和一些添加的 ORM 功能(所以不是很多依赖项)。构建工作正常,但我的问题是,它在构建期间消耗了大量内存。这意味着最多6 GiB. 我认为构建时间也很长(总共约 4-6 分钟)。
当我在我们的 CI/CD 基础设施上构建时,问题就开始了。我们那里没有那么多内存,所以构建失败了Error: Image build request failed with exit status 137。
我做错了什么还是这只是正常行为?有没有可能至少减少内存消耗?
感谢 Ken 和 Luca Burgazzoli!因此,GraalVM 使用 >4GiB 的 RAM 并花费超过 3 分钟是正常的。
可以通过-J-Xmx2G将additionalBuildArgs.param指定为-param来限制内存消耗quarkus-maven-plugin。但这可能会增加构建时间。
@ben 答案是正确的,但也许更精确是有用的。您必须pom.xml在getting-started目录中编辑并native profile添加<additionalBuildArgs>-J-Xmx2G</additionalBuildArgs>如下内容:
<profile>
<id>native</id>
<activation>
<property>
<name>native</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-maven-plugin</artifactId>
<version>${quarkus.version}</version>
<executions>
<execution>
<goals>
<goal>native-image</goal>
</goals>
<configuration>
<enableHttpUrlHandler>true</enableHttpUrlHandler>
<additionalBuildArgs>-J-Xmx2G</additionalBuildArgs>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
...
</plugin>
</plugins>
</build>
</profile>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2541 次 |
| 最近记录: |