2014-12-18 6 views
6

Używam piwne obsadę w klastrze 2 węzła następnego jest moja konfiguracja:Hazelcast Logging 70% próg Wiadomość z obecnie dodawania czegokolwiek do mapowania

<hz:hazelcast id="hazelcast_instance"> 
     <hz:config> 
      <hz:instance-name>hazelcastinstance</hz:instance-name> 
      <hz:group name="cluster" password="asdfg" /> 
      <hz:properties> 
       <hz:property name="hazelcast.health.monitoring.level">SILENT</hz:property> 

      </hz:properties> 
      <hz:network port="5710" port-auto-increment="false"> 
       <hz:join> 
        <hz:multicast enabled="false" multicast-group="224.2.2.5" 
         multicast-port="54327" /> 
        <hz:tcp-ip enabled="true"> 
         <hz:members>${cluster.hzmembers}</hz:members> 
        </hz:tcp-ip> 
       </hz:join> 
       <hz:interfaces enabled="false"> 
        <hz:interface>192.168.1.*</hz:interface> 
       </hz:interfaces> 
      </hz:network> 


      <hz:map name="cluster.map" max-size="100" max-idle-seconds="55" 
       time-to-live-seconds="55" eviction-policy="LRU" eviction-percentage="50"/> 
     </hz:config> 

    </hz:hazelcast> 

jestem tylko przy użyciu mapy, aby sprawdzić partycję, tak że mogę uruchomić tylko jedną instancję partii w klastrze:

hz.getPartitionService().getPartition("cluster.map").getOwner().localMember() 

Ale raz po raz w dzienniku widzę wiadomości jak

[cluster] memory.used=1.8G, memory.free=583.9M, memory.total=2.4G, memory.max=2.4G, memory.used/total=76.07%, memory.used/max=76.07%, load.process=-1.00%, load.system=-1.00%, load.systemAverage=13.00%, thread.count=147, thread.peakCount=158, event.q.size=0, executor.q.async.size=0, executor.q.client.size=0, executor.q.operation.size=0, executor.q.query.size=0, executor.q.scheduled.size=0, 

Nie jesteś pewien, co to jest zapełnianie pamięci klastra leszczyny.

Każda rada będzie bardzo ceniona.

używam wersji 3.1.7 Hazelcasr

Odpowiedz

1

Proszę uaktualnić do najnowszej wersji Hazelcast; 3.3.x. W punkcie 3.1/3.2 pojawiły się problemy, które mogą prowadzić do wycieku pamięci; być może masz jeden z tych problemów.

Nie wiem, co pochłania Twoją pamięć. Zwykle robię zrzut i analizuję. Ale najpierw spróbuj uaktualnić.

+0

Próbowałem za pomocą 3.3.3 ale ja wciąż dostać ten komunikat po 24 godzin jak w konfiguracji 2 węzłów. Trochę trudniej jest uzyskać zrzut pamięci, ponieważ kopnięcia eksmisji są coraz bardziej normalne. Nie wiesz, co zapełnia się pamięcią leszczyny – remo

+0

Monitor zdrowia uruchamia się, gdy używasz 70% pamięci; może być tak, że nie ma problemu, ponieważ GC właśnie usuwał martwe przedmioty, gdy odczuwa taką potrzebę. Monitor zdrowia, który dodałem, ponieważ często napotykaliśmy problemy klientów bez jednej wskazówki, co się dzieje; teraz mamy trochę informacji zwrotnych. Ale czasami dostajesz fałszywe alarmy i jeśli nie masz żadnych problemów; być może jest to jedna z nich. – pveentjer

+0

Czy mogę zresetować próg wyżej, np. do 90% pamięci używanej? – rustyx

5

Wystarczy wyłączyć wątek HealthMonitor przekazując właściwości konfiguracyjnej hazelcast.health.monitoring.level=OFF

com.hazelcast.internal.monitors.HealthMonitor posiada twardą odniesienie do com.hazelcast.spi.impl.proxyservice.impl.ProxyServiceImpl tym samym powodując "proxy" Obiekt mapy został zebrany i ostatecznie pozwolił mu wyrosnąć poza granicami.

Hazelcast Memory leak