lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Spencer <dave-lucene-u...@tropo.com>
Subject force gc idiom - Re: OutOfMemory example
Date Mon, 13 Sep 2004 15:34:00 GMT
Jiří Kuhn wrote:

> Thanks for the bug's id, it seems like my problem and I have a stand-alone code with
main().
> 
> What about slow garbage collector? This looks for me as wrong suggestion.


I've seen this written up before (javaworld?) as a way to probably 
"force" GC instead of just a System.gc() call. I think the 2nd gc() call 
is supposed to clean up junk from the runFinalization() call...

System.gc();
Thread.sleep( 100);
System.runFinalization();
Thread.sleep( 100);
System.gc();

> 
> Let change the code once again:
> 
> ...
>     public static void main(String[] args) throws IOException, InterruptedException
>     {
>         Directory directory = create_index();
> 
>         for (int i = 1; i < 100; i++) {
>             System.err.println("loop " + i + ", index version: " + IndexReader.getCurrentVersion(directory));
>             search_index(directory);
>             add_to_index(directory, i);
>             System.gc();
>             Thread.sleep(1000);// whatever value you want
>         }
>     }
> ...
> 
> and in the 4th iteration java.lang.OutOfMemoryError appears again.
> 
> Jiri.
> 
> 
> -----Original Message-----
> From: John Moylan [mailto:johnm@rte.ie]
> Sent: Monday, September 13, 2004 4:53 PM
> To: Lucene Users List
> Subject: Re: OutOfMemory example
> 
> 
> http://issues.apache.org/bugzilla/show_bug.cgi?id=30628
> 
> you can close the index, but the Garbage Collector still needs to 
> reclaim the memory and it may be taking longer than your loop to do so.
> 
> John
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-user-help@jakarta.apache.org


Mime
View raw message