【发布时间】:2012-04-27 13:16:31
【问题描述】:
我在我的 gwt-webapp 的服务器端使用番石榴的缓存。 但是要正确配置缓存,我需要知道一些“遥测”。首先我需要知道一个缓存条目需要多少内存。 到目前为止,我尝试了 jconsole 和 visualvm。问题是,我不知道在哪里看。我查找了 ConcurrencyHashMap 及其条目,但找不到正确数量的实例。
那么,什么是分析(番石榴)缓存的好方法并且可能是简单的方法?
(目前我还没有准备好购买工具来获得缓存(条目)大小的近似值/平均值)
讨论状态总结: Aaron Digulla 建议使用弱引用并让 Java 来完成管理内存的工作。 但是在previous question 中,人们建议“调整、监控、调整”缓存,因为使用弱引用会出现性能问题。
更新 好的,我的问题可能具有误导性——我不想知道有关缓存或其开销的信息。我想知道给定对象的实例有多大 - 配置缓存(在本例中为番石榴)。我必须回答的第一个问题是:我能否在内存中获取所有实例(100% 命中率)或者这需要多少内存。如果这是可能的,则不需要缓存配置。如果所有对象都会占用太多内存,我必须考虑配置。我希望有一个工具可以说明对象的平均内存占用情况。
【问题讨论】: