使用附加参数启动应用程序的训练运行

Talk big database, solutions, and innovations for businesses.
Post Reply
suchona.kani.z
Posts: 385
Joined: Sat Dec 21, 2024 5:26 am

使用附加参数启动应用程序的训练运行

Post by suchona.kani.z »

JVM 已包含 Java 标准库的存档。该存档位于交付的 JVM 部分中的“classes.jsa”文件中,并使用为具有 128MB 堆空间的 G1 配置的 JVM 创建。如果需要不同的堆配置或附加类,则必须创建单独的存档。通过应用程序类数据共享(也称为 AppCDS),应用程序的类路径也可以传输到生成的 CDS 存档中。这可以显着减少 JVM 的启动时间。如果您在多个 JVM 上运行相同的应用程序或频繁重新启动它,则节省的成本将大大增加。

要创建 CDS 存档,您需要有关应用程序在运行时使用的类的信息。这些信息可以由 JVM 本身确定:

1.使用 -Xshare:off -XX:DumpLoadedClassList=clazzes.cls 启动应用程序,并生成 保加利亚 whatsapp 数据 已加载类的列表作为文件 clazzes.cls。
2.使用 -Xshare:dump -XX:SharedArchiveFile=MyApp.jsa -XX:SharedClassListFile=clazzes.cls -cp app.jar 在文件 MyApp.jsa 中创建应用程序的 CDS 存档。
可以使用 JCMD 在生产中确定 CDS 存档。
1.应用程序必须使用参数-XX:+RecordDynamicDumpInfo 启动。
2.命令 jcmd <pid> VM.cdsdynamic_dump my_dynamic_archive.jsa d 为指定的 PID 创建 CDS 存档 VM.cds。
JVM退出后可以自动创建CDS存档。为此,在启动时指定参数 -XX:ArchiveClassesAtExit=MyApp.jsa。
要使用生成的 CDS 存档启动应用程序并从收集的信息中受益,必须使用 -XX:SharedArchiveFile=MyApp.jsa 参数启动 JVM。这几个额外的步骤可以显着提高 JVM 应用程序的启动性能。同时,您可以更早地受益于高峰值性能。通过这些调整,JVM 也为需要重新启动 JVM 的环境做好了准备。

概括
在这篇博文中,我介绍了 Java 生态系统中两个鲜为人知的工具。这些工具可用于开发快速启动、节省资源的应用程序,并具有优雅且文档齐全的界面。除此之外,我还在会议上就这个主题发表演讲,并在 adesso 博客上撰写其他文章。如果您有任何疑问或问题,我或我们的 adesso 专家将很乐意为您提供帮助。

您想了解更多关于 adesso 世界中令人兴奋的话题吗?那么请看一下我们之前发布的博客文章。

图片 Merlin Bögershausen
作者 梅林·博格斯豪森

Merlin Bögershausen 是亚琛 adesso 的软件开发人员、演讲者和作家。他负责 Java 世界的创新和公共部门的软件开发。
Post Reply