This is interesting... How are you measuring the heap size?

-Michael

-----Original Message-----
From: Bernd Fehling [mailto:bernd.fehl...@uni-bielefeld.de] 
Sent: Monday, July 29, 2013 5:34 AM
To: solr-user@lucene.apache.org
Subject: swap and GC

Something interesting I have noticed today, after running my huge single index 
(49 mio. records / 137 GB index) for about a week and replicating today I 
recognized that the heap usage after replication did not go down as expected. 
Expected means if solr is started I have a heap size between 4 to 5 GB and 
during the week under heavy load it might go up to 10 GB. But after replication 
in offline mode it recovers to between 5 to 6 GB. But today it was not going 
under 8 GB, even with forced GC from jvisualvm.
So I first dropped the caches and tried again, no success.
Next I turned off swap which took quite a while and turned it back on.
This forced all content from swap back into memory. After calling Perform GC 
from jvisualvm the heap dropped below 5 GB. Bingo!

This leads me to the conclusion that java GC is not "seeing" or "reaching"
objects which are located in swap.

Anyone else seen this?

As I am not short on memory or have any other problems I don't need any 
solution, but if there are some users having memory problems with old objects 
in swap I would suggest a cronjob after replication with swapoff/swapon and GC 
afterwards.

Bernd

Reply via email to