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 <[EMAIL PROTECTED]>:

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 <[EMAIL PROTECTED]>:
>>
>> 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: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to