需要: 需要獲取IMAP佔用的內存。無法獲得Hazelcast中的IMap統計信息
問題: 我使用ClientConfig連接HazelcastInstance並檢索IMAP(示例)。 我已經創建了LocalmapStats對象以獲取地圖統計信息。 我得到的值爲零而不是實際的內存大小。
示例代碼:
ClientConfig clientConfig = new ClientConfig();
clientConfig.addAddress("localhost");
clientConfig.getGroupConfig().setName("dev").setPassword(""dev-pass);
HazelcastInstance hz = HazelcastClient.newHazelcastClient(clientConfig);
IMap<String,String> map1 = hz.getMap("sample");
map1.put("key1","Value1");
map1.put("key2","Value2");
LocalMapStats mapstats = map1.getLocalMapStats();
int records = mapstats.getOwnedEntryCount();
long memoryOccupied = mapstats.getOwnedEntryMemoryCost();
從上面的例子中,我抽到了內存佔用,mapsize值爲0,而考慮到實際的地圖大小和實際內存映射佔領。 當我使用配置來創建hazelcast實例時,我可以獲取地圖大小和地圖空間。但是當我使用ClientConfig時,情景不起作用。 任何人都可以幫助我與ClientConfig合作,通過使用LocalMapStats獲得地圖狀態。 在此先感謝。
那麼我如何實現我的場景來獲得IMap佔用的堆內存。 –