2 Replies Latest reply on Jul 29, 2014 12:02 AM by Ruchira Gayan Ranaweera

    Clarification of memory usage?

    Ruchira Gayan Ranaweera Newbie

      Hi all,

       

      I am working on a project which we use Infinispan as caching framework. I want to closely look what object takes more memory. So I used JProfiler to monitor the memory usage. After deploying the my .ear on JBoss I am confused with the result. At a selected time 2.01 GB memory occupied by all objects.

       

      My curiosity was, more than 80,000,000 instance of java.util.concurrent.ConcurrentLinkedQueue$Itr there and they took almost 1.3GB. I haven't use java.util.concurrent.ConcurrentLinkedQueue$Itr in my Implementation. I checked this time ti time situation is almost same all the time. Majority of memory utilization for java.util.concurrent.ConcurrentLinkedQueue$Itr.

       

      I am hoping some explanation here, how and why this happened?

        • 1. Re: Clarification of memory usage?
          Wolf-Dieter Fink Master

          how do you use the cache? Is it possible to show more details of configuration and use.

          also what you add to this cache and when you see that Objects?

          • 2. Re: Clarification of memory usage?
            Ruchira Gayan Ranaweera Newbie

            Just after deploy my .ear in JBoss java.util.concurrent.ConcurrentLinkedQueue$Itr ara visible.

             

            Any selected time after the deployment java.util.concurrent.ConcurrentLinkedQueue$Itr are there in memory.

             

            In the deployment time I loaded some data to Infinispan cache (like customers).

             

            My configuration as follows

             

            <global>
                <transport transportClass="org.infinispan.remoting.transport.jgroups.JGroupsTransport">
                    <properties>
                        <property name="configurationFile" value="jgroups-tcp-custom.xml"/>
                    </properties>
                </transport>
                <globalJmxStatistics enabled="false" allowDuplicateDomains="true">
                </globalJmxStatistics>
            </global>

             

            <default>
                <eviction strategy="NONE"/>
                <transaction
                        transactionMode="NON_TRANSACTIONAL"
                        lockingMode="OPTIMISTIC"
                        transactionManagerLookupClass="org.infinispan.transaction.lookup.GenericTransactionManagerLookup"
                        syncRollbackPhase="false"
                        syncCommitPhase="false"
                        useEagerLocking="false"/>
                <clustering mode="local">
                    <async/>
                </clustering>
                <indexing enabled="false" indexLocalOnly="true">
                    <properties>
                        <property name="hibernate.search.default.directory_provider" value="ram"/>
                        <property name="hibernate.search.lucene_version" value="LUCENE_CURRENT"/>
                        <property name="hibernate.search.default.exclusive_index_use" value="false"/>
                    </properties>
                </indexing>
            </default>

             

            <namedCache name="customer">
                <eviction strategy="LIRS" maxEntries="2000"/>
                <expiration maxIdle="3600000"/>
                <!--60 minutes max idle -->
                <indexing enabled="true"/>
            </namedCache>