我们在单个服务器(使用 Docker Compose)上运行数十个 Docker 容器(Metabase BI 工具,一个 Java 应用程序),并希望优化内存占用。
我通过提供以下 Java 选项启用了类共享:
-Xquickstart -Xshareclasses:cacheDir=/cache,verbose,checkURLTimestamps,persistent -Xscmx300M
但我只能让 Java 共享它自己的库代码:
root@f7dc95f540cf:/# java -Xshareclasses:cacheDir=/cache,printStats=classpath
1: 0x00007F5ACE807F1C CLASSPATH
/opt/java/openjdk/lib/modules
Current statistics for cache "sharedcc_root":
Cache created with:
-Xnolinenumbers = false
BCI Enabled = true
Restrict Classpaths = false
Feature = cr
有没有办法让 OpenJ9 也共享所有应用程序类?