以下是GAE灵活Java8/Jetty应用程序的app.yaml文件。
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值。至少我不认为它被使用了,因为当我SSHdocker容器并运行以下命令时,内存值要少得多。
java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
有人能告诉我发生了什么,或者我需要做些什么改变吗?
谢谢
该变量仅应用于作为docker容器入口点运行的Java进程。
JAVA_HEAP_OPTS
不是一个神奇的环境变量,它会自动全局应用于 docker 容器内任何随机执行的 Java。难怪为什么当你启动自己的、独立的 Java 进程时,你不会看到任何效果。
查看以下代码,您将了解其工作原理:
问题内容: 我正在尝试运行Java程序,但是它采用默认的GMT时区而不是OS定义的时区。我的JDK版本是1.5,操作系统是Windows Server Enterprise(2007) Windows指定了中央时区,但是当我运行以下程序时,它给了我GMT时间。 这是输出 请注意,我不想从应用程序中设置时区。我希望JVM使用的时区应该是操作系统中指定的时区。(对于具有JDK 1.4版和Microso
问题内容: 我有一个使用JPA持久性的jersey-2 / hk2应用程序。将在这样的约束启动 工厂级的 这可行,但是对于每个请求,我都会在日志中收到有关已注册EntityManager的警告: 我究竟做错了什么?在jersey-2 / hk2应用程序中初始化EntityManager的正确方法是什么? 问题答案: 一种选择是不是创建一个新的(这是在请求范围内),您可以创建为一个单独的工厂,然后就
我有一个使用JPA持久性的jersey-2/hk2应用程序。启动时绑定如下所示
问题内容: 我正在为我的游戏创建一个关卡编辑器,但在将LwjglCanvas与JFrame一起使用时遇到了问题。我使用JFrame(而不是LwjglFrame)来保持引擎和关卡编辑器尽可能独立。我有两个JAR:WorldEditor.jar和GameEngine.jar。在WorldEditor内部,我有一个名为“测试”的按钮,该按钮假设是将GameEngine.jar(如果尚未加载)加载并将其启
我有两个关于Intellij IDEA中Gradle的问题 我知道退出按钮将优雅地关闭java应用程序 (文件)- 但我想知道如何通过gradle run优雅地关闭我的java应用程序? 因为gradle运行时没有退出按钮 (文件)- 另一个问题是如何通过编辑配置将java选项(如-Xmx选项)设置为java应用程序 虚拟机选项似乎设置了gradle虚拟机选项,而不是我的java应用程序选项。 非
我一直在尝试将一个应用程序部署到Azure应用程序服务(免费层),由于内存限制,该应用程序不断被杀死,因为它使用了太多内存。当然,解决这一问题的最简单方法是在启动时在JVM上设置Xmx900m,但是我尝试的方法到目前为止都不起作用。 我所尝试的: 将Xmx900m添加到web。config(配置)httpPlatform标签,位于参数属性(开始处) 我可以在Azure App Service Ja