我正在和Docker和Kubernetes合作做AWS (cloudformation )
Yaml
...
resources:
requests:
memory: "4Gi"
cpu: "0.5"
limits:
memory: "4Gi"
cpu: "0.5"Dockerfile
FROM amazonlinux:latest
RUN yum -y install java-1.8.0
EXPOSE 8103
ADD myapp.jar
ENTRYPOINT ["java","-XX:MinRAMPercentage=50.0","-XX:MaxRAMPercentage=80.0","-jar","myapp.jar"]跟随你可以从我的荚中找到java "1.8.0_282“的版本
bash-4.2# java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
intx CompilerThreadStackSize = 0 {pd product}
uintx ErgoHeapSizeLimit = 0 {product}
uintx HeapSizePerGCThread = 87241520 {product}
uintx InitialHeapSize := 67108864 {product}
uintx LargePageHeapSizeThreshold = 134217728 {product}
uintx MaxHeapSize := 1073741824 {product}
intx ThreadStackSize = 1024 {pd product}
intx VMThreadStackSize = 1024 {pd product}
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)我读到这个博客时,作者解释说:“如果您运行的是Java8UPDATE 191或更高版本,或者Java 10、11、12、13等,则不能使用UseCGroupMemoryLimitForHeap选项,而应该使用默认激活的UseContainerSupport。”
为此,我在入口点指令中添加了"-XX:MinRAMPercentage=50.0“、"-XX:MaxRAMPercentage=80.0”选项。
ENTRYPOINT ["java","-XX:MinRAMPercentage=50.0","-XX:MaxRAMPercentage=80.0","-jar","myapp.jar"]不幸的是,UseContainerSupport值在我的吊舱上没有改变,正如您可以看到的
bash-4.2# java -XX:+PrintFlagsFinal -version | grep -E "UseContainerSupport | InitialRAMPercentage | MaxRAMPercentage | MinRAMPercentage"
double InitialRAMPercentage = 1.562500 {product}
double MaxRAMPercentage = 25.000000 {product}
double MinRAMPercentage = 50.000000 {product}
bool UseContainerSupport = true {product}
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)我还尝试将JAVA_OPTS添加到YAML中,如下所示,但没有任何更改
env:
- name: JAVA_OPTS
value: "-XX:MinRAMPercentage=50.0 -XX:MaxRAMPercentage=80.0" 最后的问题是:-)
如何并在何处设置-XX:MinRAMPercentage和-XX:MaxRAMPercentage选项以修改MaxRAMPercentage的默认值?我想使用3Gi的内存4Gi专用(关于yaml)
感谢每个人
发布于 2021-10-21 21:58:42
请将env变量从JAVA_OPTS更改为JAVA_TOOL_OPTIONS。这对我和Java8起了作用。
https://stackoverflow.com/questions/67441806
复制相似问题