gpt4 book ai didi

OpenJ9 和 docker 容器?

转载 作者:行者123 更新时间:2023-12-01 14:12:03 25 4
gpt4 key购买 nike

从历史上看,HotSpot 在 docker 容器中运行错误判断分配的资源(例如 RAM)的记录很差。不过,情况正在慢慢好转。

OpenJ9 如何与 docker 容器保持一致,以及它在多大程度上了解容器提供的资源(内存、套接字、线程等)?

此外,在 JavaOne 2017 演讲中提到 OpenJ9 可以跨不同的 OpenJ9 VM 缓存 jit 编译的类。当虚拟机被限制在不同的容器(或)如果容器化的 JVM 共享一个 docker 卷时,这种共享缓存是否可行?

最佳答案

  • 容器支持目前正在研究中,对于 cgroup 意识,请查看此 PR .这也将导致添加容器支持。
  • 对于共享类缓存 (SCC),这两种情况都是可能的。请参阅 here 中的“使用类数据共享功能”以共享 docker 卷为例。当 JVM 被限制在没有共享卷的不同容器中时,建议使用预先构建的 SCC 构建 docker 容器。您的 dockerfile 将如下所示。

    FROM 采用openjdk/openjdk9-openj9:x86_64-alpine-jdk-9.181

    运行 mkdir/opt/shareclasses
    && mkdir/opt/app

    复制 japp.jar/opt/app

    CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses", "-jar", "/opt/app/japp.jar"]

  • 然后,您需要构建和运行镜像并提交生成的容器并将其作为您的基本镜像。
    docker build -t japp:latest .
    docker run japp
    docker commit container_id japp

    关于OpenJ9 和 docker 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46783329/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com