Otis,
Thank you for your response. I know there are a few variables here but the
difference in memory utilization with and without shards somehow leads me to
believe that the leak could be within Solr.

I tried using a profiling tool - Yourkit. The trial version was free for 15
days. But I couldn't find anything of significance.

Regards
Rahul


On Tue, Aug 4, 2009 at 7:35 PM, Otis Gospodnetic <otis_gospodne...@yahoo.com
> wrote:

> Hi Rahul,
>
> A) There are no known (to me) memory leaks.
> I think there are too many variables for a person to tell you what exactly
> is happening, plus you are dealing with the JVM here. :)
>
> Try jmap -histo:live PID-HERE | less and see what's using your memory.
>
> Otis
> --
> Sematext is hiring -- http://sematext.com/about/jobs.html?mls
> Lucene, Solr, Nutch, Katta, Hadoop, HBase, UIMA, NLP, NER, IR
>
>
>
> ----- Original Message ----
> > From: Rahul R <rahul.s...@gmail.com>
> > To: solr-user@lucene.apache.org
> > Sent: Tuesday, August 4, 2009 1:09:06 AM
> > Subject: JVM Heap utilization & Memory leaks with Solr
> >
> > I am trying to track memory utilization with my Application that uses
> Solr.
> > Details of the setup :
> > -3rd party Software : Solaris 10, Weblogic 10, jdk_150_14, Solr 1.3.0
> > - Hardware : 12 CPU, 24 GB RAM
> >
> > For testing during PSR I am using a smaller subset of the actual data
> that I
> > want to work with. Details of this smaller sub-set :
> > - 5 million records, 4.5 GB index size
> >
> > Observations during PSR:
> > A) I have allocated 3.2 GB for the JVM(s) that I used. After all users
> > logout and doing a force GC, only 60 % of the heap is reclaimed. As part
> of
> > the logout process I am invalidating the HttpSession and doing a close()
> on
> > CoreContainer. From my application's side, I don't believe I am holding
> on
> > to any resource. I wanted to know if there are known issues surrounding
> > memory leaks with Solr ?
> > B) To further test this, I tried deploying with shards. 3.2 GB was
> allocated
> > to each JVM. All JVMs had 96 % free heap space after start up. I got
> varying
> > results with this.
> > Case 1 : Used 6 weblogic domains. My application was deployed one 1
> domain.
> > I split the 5 million index into 5 parts of 1 million each and used them
> as
> > shards. After multiple users used the system and doing a force GC, around
> 94
> > - 96 % of heap was reclaimed in all the JVMs.
> > Case 2: Used 2 weblogic domains. My application was deployed on 1 domain.
> On
> > the other, I deployed the entire 5 million part index as one shard. After
> > multiple users used the system and doing a gorce GC, around 76 % of the
> heap
> > was reclaimed in the shard JVM. And 96 % was reclaimed in the JVM where
> my
> > application was running. This result further convinces me that my
> > application can be absolved of holding on to memory resources.
> >
> > I am not sure how to interpret these results ? For searching, I am using
> > Without Shards : EmbeddedSolrServer
> > With Shards :CommonsHttpSolrServer
> > In terms of Solr objects this is what differs in my code between normal
> > search and shards search (distributed search)
> >
> > After looking at Case 1, I thought that the CommonsHttpSolrServer was
> more
> > memory efficient but Case 2 proved me wrong. Or could there still be
> memory
> > leaks in my application ? Any thoughts, suggestions would be welcome.
> >
> > Regards
> > Rahul
>
>

Reply via email to