【问题标题】:Docker jetty container JVM memory allocationDocker码头容器JVM内存分配
【发布时间】:2016-10-28 16:28:29
【问题描述】:

我是使用 Docker 的新手,并且已经为我的应用程序编写了一个 compose 文件。它利用码头和 MySQL DB。我通过环境参数中的 JAVA_OPTS 为 Jetty 配置了 JVM 内存。我认为jetty JVM的最大内存设置是1GB。但是,当我运行以下命令时,它显示码头消耗了 2 GB。请帮助如何配置jetty的JVM内存并确保相同。

docker-compose.yml

my-app:
  image: jetty
 environment:
     JAVA_OPTS: "-Xmx1024m -Xms128m"

状态命令

docker stats $(docker ps|grep -v "NAMES"|awk '{ print $NF }'|tr "\n" " ")

CONTAINER           CPU %               MEM USAGE / LIMIT     MEM %               NET I/O               BLOCK I/O
my-app           0.05%               2.188 GB / 10.56 GB   6.39%               12.66 kB / 1.584 kB   57 MB / 45.06 kB

【问题讨论】:

  • 请验证配置文件中的设置是否正确,service.cfg 在容器内。
  • 能否请您提供有关 service.cfg 的更多详细信息以及我需要验证哪些配置?我是 docker 新手
  • 它不是关于 docker,它的码头配置文件,ibm.com/support/knowledgecenter/SSYQQ2_5.3.1/…

标签: java docker jvm jetty docker-compose


【解决方案1】:

您的环境变量名称有误:

my-app:
  image: jetty
 environment:
   JAVA_OPTIONS: "-Xmx1024m -Xms128m"

问候

【讨论】:

  • 是的,在使用 JAVA_OPTIONS 之后。它运行良好。在我的理解中,另一个更正是状态 cmd 提供了容器而不是 Jetty 的内存。我通过( docker exec -it container-id /bin/bash)登录容器并执行 ps -efww 命令。它显示 JAVA 选项。 java -Djava.io.tmpdir=/tmp/jetty -Xmx1024m -Xms128m -jar /usr/local/jetty/start.jar
【解决方案2】:

当您在容器中运行 java 时,它不仅是 java,还有其他东西,可能是我的回答不适合这种情况,但我觉得它将来可能会对某人有所帮助。请通过此链接JVM memory optimization in Docker

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 2016-09-26
    • 2013-07-27
    • 2016-06-01
    • 2017-11-15
    • 2016-10-10
    • 1970-01-01
    相关资源
    最近更新 更多