OpenJ9和码头集装箱?
问题描述:
从历史上看,HotSpot在码头集装箱中运行的记录错误,误判分配的资源(例如RAM)。但是,事情正在缓慢改善。OpenJ9和码头集装箱?
如何OpenJ9与码头工人容器和到什么程度就知道了容器提供的资源(内存,插槽,螺纹等)的
同样,有人提到的JavaOne 2017年演示过程中对准OpenJ9可以在不同的OpenJ9虚拟机上缓存jit-compilled类。如果虚拟机被限制在不同的容器(或),如果容器化的JVM共享码头容量,这个共享缓存是可能的吗?
答
- 容器支持目前正在进行中,对于cgroup意识,请检查这个PR。这也将导致增加容器支持。
-
关于共享类缓存(SCC),这两种情况都是可能的。有关共享泊坞窗卷的示例,请参见here中的“使用类数据共享功能”。当JVM被限制在不同的容器中而没有共享卷时,建议使用预先构建的SCC构建Docker容器。你的dockerfile看起来像这样。
FROM adoptopenjdk/openjdk9-openj9:x86_64的高山-JDK-9.181
RUN MKDIR /选择/ shareclasses & & MKDIR /选择/应用
COPY japp.jar /选择/应用
CMD [ “Java” 的, “-Xshareclasses:cacheDir = /选择/ shareclasses”, “罐子”, “/opt/app/japp.jar”]
然后,您需要构建并运行映像并提交结果容器,并将其作为基础映像。
docker build -t japp:latest . docker run japp docker commit container_id japp