我们有使用Payara的图像的OpenShift。我们对此很陌生,我们遇到的一个问题是无法使用“ java.lang.OutOfMemoryError:超出GC开销限制”来访问Payara管理控制台
有没有一种方法可以增加内存而不必重建新映像?
答案 0 :(得分:0)
好像您正在运行JVM,我强烈建议您从here
中介绍的内容开始进行故障排除。您还可以像这样动态地调整Pod中的内存:
apiVersion: v1
kind: Pod
metadata:
name: test
spec:
containers:
- name: test
image: fedora:latest
command:
- sleep
- "3600"
env:
- name: MEMORY_REQUEST
valueFrom:
resourceFieldRef:
containerName: test
resource: requests.memory
- name: MEMORY_LIMIT
valueFrom:
resourceFieldRef:
containerName: test
resource: limits.memory
resources:
requests:
memory: 384Mi
limits:
memory: 512Mi
答案 1 :(得分:0)
使用官方的Payara Server码头工人映像,如果不修改映像就无法指定JVM内存限制。
但是,您可以一次修改库存映像以利用JVM选项中的环境变量引用,然后将具有不同值的相同映像重用于环境变量。请参阅此处的文档:https://docs.payara.fish/documentation/payara-server/server-configuration/var-substitution/usage-of-variables.html
因此,您可以使用-Xmx2g
asadmin命令修改映像以删除默认的delete-jvm-options
JVM选项,并使用${ENV=PAYARA_XMX}
添加一个新选项,例如create-jvm-options
,然后启动PAYARA_XMX
环境变量设置为例如的docker容器-Xmx500m
。
您还可以提出一个问题,要求在https://github.com/payara/docker-payaraserver-full/issues的股票Payara Docker映像中添加对此项的支持。