lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bruno Vieira" <brunovieir...@gmail.com>
Subject Re: Memory Leak IndexSearcher
Date Mon, 03 Jul 2006 18:08:28 GMT
I really got no OOM.

So, the impression I have is that there is some kind of cache static who
uses the free memory for the IndexSearcher, if I set -Xmx16m the application
uses the entire 16m, if a set -Xmx512m after some time the application uses
the entire 512m, the way that even if a instanciate a new IndexSearcher this
cache is not cleaned.

Am i right ? If yes, is there some parameter or method where i can free or
control that ?

Thanks

2006/7/3, robert engels <rengels@ix.netcom.com>:
>
> Did you try what was suggested? (-Xmx16m) and did you get an OOM? If
> not, there is no memory leak.
>
> On Jul 3, 2006, at 12:33 PM, Bruno Vieira wrote:
>
> > Thanks for the answer, but I have isolated the cycle inside a loop
> > on a
> > static void main (String args[]) Class to test this issue.In this
> > case there
> > were no classes referencing the IndexSercher and the problem still
> > happened.
> >
> >
> > 2006/7/3, robert engels <rengels@ix.netcom.com>:
> >>
> >> You may not have a memory leak at all. It could just be garbage
> >> waiting to be collected. I am fairly certain there are no "memory
> >> leaks" in the current Lucene code base (outside of the ThreadLocal
> >> issue).
> >>
> >> A simple way to verify this would be to add -Xmx16m on the command
> >> line. If there were a memory leak then it will eventually fail with
> >> an OOM.
> >>
> >> If there is a memory leak, then it is probably because your code is
> >> holding on to IndexReader references in some static var or map.
> >>
> >>
> >> On Jul 3, 2006, at 9:43 AM, Bruno Vieira wrote:
> >>
> >> > Hi everyone,
> >> >
> >> > I am working on a project with around 35000 documents (8 text
> >> > fields with
> >> > 256 chars at most for each field) on lucene. But unfortunately this
> >> > index is
> >> > updated at every moment and I need that these new items be in the
> >> > results of
> >> > my search as fast as possible.
> >> >
> >> > I have an IndexSearcher, then I do a search getting the last 10
> >> > results with
> >> > ordering by a name field and the memory allocated is 13mb, I
> >> close the
> >> > IndexSearcher because the lucene database was updated by and
> >> external
> >> > application and I create a new IndexSearcher, do the same search
> >> again
> >> > wanting to get the last 10 results with ordering by a name field
> >> > and the
> >> > memory allocated is 15mb. At every time I do this cycle the memory
> >> > increase
> >> > in 2mb, so in a moment I have a memory leak.
> >> >
> >> > If the database is not updated and i do not create a new
> >> > IndexSearcher i can
> >> > do searches forever without memory leak.
> >> >
> >> > Why when I close an IndexSearcher (indexSearcher.close();
> >> > indexSearcher =
> >> > new IndexSearcher("/database/") ;)after some searches with ordering
> >> > and open
> >> > a new one the memory is not free ?
> >> >
> >> > Thanks to any suggestions.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> >> For additional commands, e-mail: java-dev-help@lucene.apache.org
> >>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-dev-help@lucene.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message