2014-12-18 9 views
6

I Haselguss in einem 2-Knoten-Cluster bin mit folgenden ist meine Konfiguration:Hazelcast Logging 70% -Schwelle Nachricht mit heraus etwas hinzuzufügen abzubilden

<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> 

Ich bin nur die Karte mit der Partition zu überprüfen, so dass ich kann nur eine Instanz der Charge in einem Cluster ausgeführt:

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

aber immer wieder im Protokoll i-Nachrichten zu sehen, wie

[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, 

Ich bin mir nicht sicher, was den Clusterspeicher von Haselnusspaketen füllt.

Alle Geräte werden sehr geschätzt.

Ich verwende Hazelcasr Version 3.1.7

Antwort

1

Bitte auf neueste Version aktualisieren Hazelcast; 3.3.x. In 3.1/3.2 gab es einige Probleme, die zu einem Speicherverlust führen konnten; vielleicht stößt man auf eines dieser Probleme.

Ich weiß nicht, was Ihren Speicher verbraucht. Normalerweise nehme ich einen Heapdump und analysiere ihn. Aber zuerst versuchen, zu aktualisieren.

+0

Ich versuchte 3.3.3 verwenden, aber ich habe noch diese Nachricht nach wie 24 Stunden in zwei Knoten-Setup bekommen. Es wird etwas schwieriger, den Speicherabzug zu bekommen, weil die Räumung einsetzt und es wieder normal wird. Nicht sicher, was den hazelcast-Speicher füllt – remo

+0

Der Gesundheitsmonitor tritt gerade ein, wenn 70% des Speichers verwendet werden; Es könnte sehr wohl sein, dass es kein Problem gibt, weil der GC nur tote Objekte entfernt hat, wenn es sich nötig anfühlt. Der Gesundheitsmonitor, den ich hinzugefügt habe, weil wir oft in Kundenprobleme gerieten, ohne einen einzigen Hinweis zu haben, was vor sich geht; Jetzt haben wir ein bisschen Feedback. Aber manchmal bekommen Sie falsche Positive und wenn Sie keine Probleme haben. Es könnte sein, dass dies einer von ihnen ist. – pveentjer

+0

Kann ich den Schwellenwert höher einstellen, z. zu 90% Speicher verwendet? – rustyx

5

einfach auszuschalten die Health Faden durch die Konfigurationseigenschaft hazelcast.health.monitoring.level=OFF

com.hazelcast.internal.monitors.HealthMonitor vorbei hält eine Fest Bezug auf com.hazelcast.spi.impl.proxyservice.impl.ProxyServiceImpl wodurch eine Verursachung 'Proxies' Map-Objekt wird nicht gesammelt und erlaubt es, außerhalb der Grenzen zu wachsen.

Hazelcast Memory leak