You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Andrew Davidoff <da...@qedmf.net> on 2010/11/30 16:59:26 UTC

PermGen per Solr core?

Hi,

I am running multiple Solr cores (solr-tomcat 1.4.0+ds1-1ubuntu1) under
Tomcat (6.0.24-2ubuntu1.4) on Ubuntu 10.04.1. I have a master server where
all Solr writes go, and a slave server that replicates all cores from the
master, and accepts all read-only queries.

After maxing out PermGen space a few times on the slave, adjusting it, and
doing some analysis, it looks to me that each Solr core on the slave uses
about 4.6 meg of PermGen space. I have looked at the number of Solr cores
running each time I have maxed out PermGen and this does appear to be
linear. To get the 4.6 meg/core number I am simply dividing MaxPermSize by
the number of cores running when PermGen has filled. I am also
using PrintGCDetails which confirms PermGen is maxed when the server fails.

I have a basic understanding of PermGen and CMS garbage collection. Although
4.6 meg generally sounds like a small amount of data, with respect to
tenured generation per Solr core it sounds high to me. Maybe I just don't
know what I'm talking about, but I was hoping someone had an opinion on
whether or not this sounded too high, and if so, what I can do to shrink it.
I have read that redeploying servlets inherently makes this problem worse,
but I very rarely do that. This seems to be a case of PermGen filling as
more Solr cores are added to my server (a few are added each day as part of
normal business).

If there is any additional information I can provide about my deployment
that would help please let me know.

Thanks.
Andrew Davidoff