无法使用 JKube Maven 插件设置 JVM 设置
Unable to set JVM settings with JKube Maven plugin
我正在尝试将 JVM 设置传递给 Java 应用程序,该应用程序配置为使用 JKube Maven 插件部署在 Openshift 上。我在 deployment.yaml 文件中添加了以下设置:
spec:
template:
spec:
containers:
- env:
- name: JAVA_OPTS
value: '-Xms128m -Xmx1024m -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256m'
当 Java 进程在 Pod 中启动时,我可以看到 Java_OPTS 被默认值覆盖(参见 -XX:MaxMetaspaceSize[ 的第二个设置=22=]):
DEBUG [org.jboss.as.config] (MSC service thread 1-1) VM Arguments: -Xms128m -Xmx1024m -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256m -XX:+UseParallelOldGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:MaxMetaspaceSize=100m -XX:+ExitOnOutOfMemoryError
最终导致:
Terminating due to java.lang.OutOfMemoryError: Metaspace
您能推荐一种在使用 JKube Maven 插件时正确设置 JVM 设置的方法吗?
谢谢
您必须使用 GC_MAX_METASPACE_SIZE 环境变量来定义元空间的最大大小。例如:
- name: GC_MAX_METASPACE_SIZE
value: 256
具体来说,这里有一个示例:how to set the METASPACE size on Kubernetes/OpenShift 使用 JKube
我正在尝试将 JVM 设置传递给 Java 应用程序,该应用程序配置为使用 JKube Maven 插件部署在 Openshift 上。我在 deployment.yaml 文件中添加了以下设置:
spec:
template:
spec:
containers:
- env:
- name: JAVA_OPTS
value: '-Xms128m -Xmx1024m -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256m'
当 Java 进程在 Pod 中启动时,我可以看到 Java_OPTS 被默认值覆盖(参见 -XX:MaxMetaspaceSize[ 的第二个设置=22=]):
DEBUG [org.jboss.as.config] (MSC service thread 1-1) VM Arguments: -Xms128m -Xmx1024m -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256m -XX:+UseParallelOldGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:MaxMetaspaceSize=100m -XX:+ExitOnOutOfMemoryError
最终导致:
Terminating due to java.lang.OutOfMemoryError: Metaspace
您能推荐一种在使用 JKube Maven 插件时正确设置 JVM 设置的方法吗? 谢谢
您必须使用 GC_MAX_METASPACE_SIZE 环境变量来定义元空间的最大大小。例如:
- name: GC_MAX_METASPACE_SIZE
value: 256
具体来说,这里有一个示例:how to set the METASPACE size on Kubernetes/OpenShift 使用 JKube