首页 > 解决方案 > Xmx 内存分配给容器时出错

问题描述

我正在尝试将我的 Dockerfile 中的 Xmx 值设置为:

CMD ["java","-Xmx1024m -XX:+UseG1GC -XX:-OmitStackTraceInFastThrow","-jar", \ 
...
...
"/home/app/accountowner-extraction.jar"]
EXPOSE 8080

我收到一个错误:

C:\Users\nisarg>kubectl logs my-validation-app-blhr6
Invalid maximum heap size: -Xmx1024m -XX:+UseG1GC -XX:-OmitStackTraceInFastThrow
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

以下是资源分配:

    Limits:
      cpu:     2
      memory:  2500M
    Requests:
      cpu:      1500m
      memory:   2G

是不是因为我没有明确设置-Xms?
在内存分配中是否应该进行任何更改?

标签: javadockerkubernetesmemory-managementjvm

解决方案


不要将所有选项都写在一个参数中,使用单独的参数:

CMD ["java","-Xmx1024m","-XX:+UseG1GC","-XX:-OmitStackTraceInFastThrow","-jar", \ 

推荐阅读