mark harwood wrote:


Thanks, I have a heap dump now from a run with reduced JVM memory (in order to speed up a failure point) and am working through it offline with VisualVm. This test induced a proper OOM as opposed to one of those "timed out waiting for GC " type OOMs so may be misleading.

Hmm -- it's not good that the problem changed on you ;) You may simply be not giving the app enough memory now?

The main culprit in this particular dump looks to be
FreqProxTermsWriter$PostingsList but the number of instances is in line
with the volumes of terms I would have expected at that stage of
indexing.
I'll report back on my findings as I discover more.

Yeah this is expected to be a top user of RAM when you have mostly unique terms.

I have another run soldiering on with the -XX:-UseGCOverheadLimit setting to avoid GC -related timeouts and this has not hit OOM but is slowing to a crawl.

I'll try capturing InfoStream too if it doesn't generate terabytes of data.

Be careful, though: if your root cause is "GC takes too long to run" (that "timed out waiting for GC" exception), then running with this setting changes the game.

Ie, it's still not clear if you are running out of memory vs hitting some weird "it's too hard for GC to deal" kind of massive heap fragmentation situation or something. It reminds me of the special ("I cannot be played on record player X") record (your application) that cannot be played on a given record player X (your JRE) in Gödel, Escher, Bach ;)

Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to