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