1

我正在寻找经验证据来支持使用 Open J9 的类数据共享功能。此功能声称:

在同一主机上运行的多个 Java 虚拟机 (JVM) 之间提供透明和动态的数据共享,从而减少每个 JVM 实例消耗的物理内存量

我正在使用 docker compose 运行同一应用程序的 5 个副本,并使用本地 prometheus 服务器来监控所有 5 个 JVM 中的内存使用情况。

我已经启用并禁用了类数据共享功能,然后我正在查看指标。

  • 已加载 jvm 类
  • jvm非堆内存
  • jvm类存储
  • jvm JIT 数据缓存
  • 缓冲存储器

它们都通过 Prometheus 执行器端点暴露在 Spring Boot 应用程序中。

我的直觉告诉我,如果某些内存映射文件被用于类存储,我可能会看到类存储量和使用的非堆内存量有所减少。

并不是说我的测试非常科学,但到目前为止,我看到了相反的结果——当我启用该功能时,这两个指标都会略微上升(边际量但根本没有下降)。

真正应该在哪里衡量此功能的影响。从表面上看,鉴于所有 5 个应用程序都是相同的,我觉得它应该产生一些可衡量的影响,这让我觉得我在衡量错误的东西。

4

0 回答 0