spring-boot - 为 Spring Boot 项目设置 Java 堆大小,并将嵌入式 tomcat 部署为 docker 映像
问题描述
我有一个部署在 docker 容器中的带有嵌入式 tomcat 的 Spring Boot REST 应用程序。我的部署 YAML 文件设置了以下值 -
resources:
limits:
memory: 2.5G
requests:
memory: 512M
env:
- name: "SPRING_PROFILES_ACTIVE"
value: "dev"
- name: "JAVA_OPTS"
value: "-Xms512m -Xmx1024m"
并且docerfile是-
FROM openjdk:8-jdk
ARG ARTIFACT_NAME
WORKDIR /app
COPY $ARTIFACT_NAME /app/app.jar
ENTRYPOINT exec java $JAVA_OPTS -jar /app/app.jar
但是 JVM 堆大小没有设置为 1G。我什至尝试过使用
-XX:+UnlockExperimentalVMOptions
-XX:+UseCGroupMemoryLimitForHeap
-XX:MaxRamFraction=2
但结果始终显示 MaxRamFraction 为 4。
解决方案
推荐阅读
- r - 如何通过将列子设置为范围以获取 X 值,在 ggplot2 中创建箱线图?
- css - CSS动画以不同的速率淡入和淡出并暂停
- python - 在 Django 网上商店中创建客户
- google-apps-script - 应用程序脚本卡在循环中?
- c# - 如何在 C# 中对输入参数为 Enum 类型的方法进行 Moq
- google-sheets - 输出特定文件夹中电子表格 URL 的 Google 表格功能?
- c# - 自适应卡未发送给用户
- javascript - JavaScript 中的语义分割
- java - 使用 spring @Transactional 和 AbstractRoutingDataSource 在只读和读写数据库之间切换
- angular - 如何从组件中的 ngModel 获取名称值