Java 计算Infinispan缓存内存大小

Java 计算Infinispan缓存内存大小,java,caching,infinispan,Java,Caching,Infinispan,我需要粗略估计Infinispan缓存(使用5.3.0版实现)的内存使用情况(用于学习目的) 由于要这样做,我提出了以下程序 添加缓存侦听器以侦听缓存放置/删除事件,并使用使用java.lang.instrument.Instrumentation.getObjectSize的库记录插入项的大小。但我并不怀疑它是否能为缓存返回正确的内存使用率。我的测量正确吗?我在这里漏掉了一些东西吗?或者我需要考虑更多的因素来做这件事吗? < P>如果你不需要实时信息,最简单的找到实际内存使用的方法是堆堆转储并

我需要粗略估计Infinispan缓存(使用5.3.0版实现)的内存使用情况(用于学习目的)

由于要这样做,我提出了以下程序


添加缓存侦听器以侦听缓存放置/删除事件,并使用使用
java.lang.instrument.Instrumentation.getObjectSize
的库记录插入项的大小。但我并不怀疑它是否能为缓存返回正确的内存使用率。我的测量正确吗?我在这里漏掉了一些东西吗?或者我需要考虑更多的因素来做这件事吗?

< P>如果你不需要实时信息,最简单的找到实际内存使用的方法是堆堆转储并查看缓存对象的保留大小(如用)。 您的方法将忽略Infinispan内部结构的开销。通常情况下,每个条目的开销应该在150字节左右,但有时会非常大-例如,当您启用逐出和Infinispan根据配置的大小分配结构时()