以下是我的app.yaml文件,用于GAE灵活的Java 8 / Jetty应用程序。
runtime: java
env: flex
manual_scaling:
instances: 1
runtime_config: # Optional
jdk: openjdk8
server: jetty9
resources:
cpu: 2
memory_gb: 4.0
env_variables:
JAVA_HEAP_OPTS: -Xms3072M -Xmx3072M
health_check:
enable_health_check: False
handlers:
- url: /.*
script: this field is required, but ignored
出于某种原因,在部署应用程序时不使用JAVA_HEAP_OPTS值。至少我不认为它被使用,因为当我SSH到docker容器并运行以下命令时,内存值要小得多。
java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
有人可以告诉我发生了什么事或我需要采取哪些不同的做法?
由于
答案 0 :(得分:0)
该变量仅应用于作为docker容器的入口点运行的Java进程。
JAVA_HEAP_OPTS
不是一个神奇的环境变量,可以自动全局应用于docker容器内Java的任意随机执行。难怪为什么在启动自己独立的Java进程时看不到任何影响。
查看以下代码,您将了解它的工作原理: