Spring boot 使用部署为docker映像的嵌入式tomcat为Spring boot项目设置Java堆大小
我有一个SpringBootREST应用程序,它在docker容器中部署了嵌入式tomcat。我的部署YAML文件设置了以下值-Spring boot 使用部署为docker映像的嵌入式tomcat为Spring boot项目设置Java堆大小,spring-boot,docker,heap-size,Spring Boot,Docker,Heap Size,我有一个SpringBootREST应用程序,它在docker容器中部署了嵌入式tomcat。我的部署YAML文件设置了以下值- resources: limits: memory: 2.5G requests: memory: 512M env: - name: "SPRING_PROFILES_ACTIVE" value: "dev" - name: "JAVA_OPTS" value:
resources:
limits:
memory: 2.5G
requests:
memory: 512M
env:
- name: "SPRING_PROFILES_ACTIVE"
value: "dev"
- name: "JAVA_OPTS"
value: "-Xms512m -Xmx1024m"
而驯服员是-
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 heapsize没有设置为1G。我甚至试过使用
-XX:+UnlockExperimentalVMOptions
-XX:+UseCGroupMemoryLimitForHeap
-XX:MaxRamFraction=2
但是结果总是显示MaxRamFraction为4。你
docker检查过图像吗?env
SO之前的空格是偶然的还是也存在于您的真实文件中?是的,我检查了pod,内存分配看起来很好。最大堆大小设置为可用内存的1/4,我无法通过更改MaxRAMPercentage、MaxRamFraction或Xmx来增加可用内存。YAML文件没有任何空间问题,应用程序运行正常。