【发布时间】:2020-09-06 20:30:17
【问题描述】:
部署 Corda 节点时,JVM XmX 参数用于增加节点的内存限制,但通过容器部署时,官方 Corda 映像会引发警告
警告:不建议在 docker 容器中使用 -Xmx 标志。使用传递给容器的 --memory 选项来限制堆大小
https://github.com/corda/corda/blob/release/os/4.4/docker/src/bash/run-corda.sh#L4
为容器设置内存限制是不够的,因为节点本身在容器内崩溃并出现 OOM 异常。
使用开源时,您可以通过如下设置节点配置来绕过XmX参数:
custom = {
jvmArgs: [ "-Xmx1G", "-XX:+UseG1GC" ]
}
有没有办法通过 dockerfile 或 docker compose 而不是配置来设置 Corda 节点内存限制?
【问题讨论】:
-
您是如何设法使用此自定义选项的?我尝试在 build.grade 中使用 Cordform,但它不起作用。
-
这被放置在为节点生成并放置在容器内的
node.conf中。我没有使用 Cordform 进行 docker 部署。您可以尝试直接使用 docker compose。