动态类数据共享不使用归档文件



我们正在尝试在spring启动应用程序中使用动态类数据共享(Dynamic CDS)。

使用以下命令

创建CDS存档
java -Xlog:cds -XX:DumpLoadedClassList=cds.jsa -jar app-0.0.1-SNAPSHOT.jar

并尝试使用以下命令

使用存档
java -Xlog:cds -XX:SharedArchiveFile=cds.jsa -jar app-0.0.1-SNAPSHOT.jar

但是在应用程序启动开始时出现以下错误

[0.009s][info][cds] trying to map cds.jsa
[0.009s][info][cds] Opened archive cds.jsa.
[0.009s][info][cds] _magic expected: 0xf00baba2
[0.009s][info][cds]          actual: 0x4f4e2023
[0.009s][info][cds] UseSharedSpaces: The shared archive file has a bad magic number.
[0.009s][info][cds] UseSharedSpaces: Unable to map shared spaces

openjdk version "2017-09-14 (build 17+35-2724)Springboot 2.6.3

选项--XX:DumpLoadedClassList=cds.jsadoesnot创建一个CDS归档文件——这是创建一个静态CDS归档文件的一个步骤。

要创建动态CDS存档文件,必须使用

java -Xlog:cds -XX:ArchiveClassesAtExit=cds.jsa -jar app-0.0.1-SNAPSHOT.jar

来源:https://docs.oracle.com/en/java/javase/17/docs/specs/man/java.html creating-cds-archives

最新更新