: The current system I'm using has 150GB of memory and while I'm indexing the
: memoryconsumption is growing and growing (eventually more then 50GB).
: In the attached graph (http://postimage.org/image/acyv7kec/) I indexed about
: 70k of office-documents (pdf,doc,xls etc) and between 1 and 2 percent throws

Unless i'm missunderstanding sometihng about your graph, only ~12GB of 
memory is used by applications on that machine.  About 60GB is in use by 
the "filesystem cache".

The Filesystem cache is not memory being used by Solr, it's memory that is 
free and not in use by an application, so your OS is (wisely) using it to 
cache files from disk that you've recently accessed in case you need them 
again.  This is handy, and for max efficients (when keeping your index on 
disk) it's useful to make sure you allocate resources so that you have 
enough extra memory on your server that the entire index can be kept in 
the filesystem cache -- but the OS will happily free up that space for 
other apps that need it if they ask for more memory.

: After indexing the memoryconsumption isn't dropping. Even after an optimize
: command it's still there.

as for why your "Used" memory grows to ~12GB and doesn't decrease even 
after an optimize: that's the way the Java memory model works.  whe nyou 
run the JVM you specificy (either explicitly or implicitly via defaults) a 
min & max heap size for hte JVM to allocate for itself.  it starts out 
asking the OS for the min, and as it needs more it asks for more up to the 
max.  but (most JVM implementations i know of) don't "give back" ram to 
the OS if they don't need it anymore -- they keep it as free space in the 
heap for future object allocation.



-Hoss

Reply via email to