共享类高速缓存
使用 Java 共享类高速缓存提供了一种方法来缩短 JVM 启动时间,减少总体存储器使用率并优化编译过程。 类高速缓存可与所有 JVM 服务器 (OSGi , Liberty 和基于类的服务器) 配合使用。
z/OS® 上的 IBM SDK Java Technology Edition 支持共享类高速缓存。 要使 JVM 服务器能够使用类高速缓存并设置大小,必须使用 JVM 命令行参数。 其他操作需求 (例如,监视类高速缓存的使用情况和销毁类高速缓存) 也使用 Java 命令上的选项来执行。
有关 Java™ 类数据共享的更多信息,请参阅类数据共享。
共享类高速缓存可以包含以下元素:
- Java 类,包括应用程序类, JVM 服务器基础结构和 Java 引导程序类。
- 提前 (AOT) 编译的代码。
启用类高速缓存
要启用类高速缓存,请使用 JVM 命令行参数,例如:
-Xshareclasses:name=cics.<group>其中 <group> 可能是 JVM 概要文件符号 &applid; (如果要仅在同一区域中共享类)。 或者,您可以使用公共类选择特定类型的所有 JVM 服务器将连接到的任意标识。 共享的粒度特定于用户,具体取决于您的需求,类高速缓存的大小以及共享应用程序的数量。 您可以确保公共函数的多个 JVM 服务器共享一个类高速缓存 name,并且该类高速缓存的大小足以容纳所有用途。检查类高速缓存
您可以运行 z/OS UNIX 命令
JAVA_HOME/bin/java
-Xshareclasses:name=<named_cache>,printStats 来查看类缓存的满度。 此查询将返回Cache is
nn% full消息。重要信息: 如果您的高速缓存是使用与 JVM 中当前有效的设置不同的
有关更多信息,请参阅处理缓存问题。compressedRefs 设置创建的,那么您将收到一条消息,指示您应该使用正确的 JVM 级别。 在这种情况下,您应该检查在创建高速缓存时生效的 compressedRefs 设置是否与创建 JVM 时生效的设置相同。设置或更改类高速缓存大小
- 修改 JVM 概要文件以定义指定的高速缓存大小
-Xscmx256M - 关闭所有使用高速缓存的 JVM 服务器。
- 使用
JAVA_HOME/bin/java -Xshareclasses:name=<named_cache>,destroy除去高速缓存 - 启动 JVM 服务器。