JEP 132: More-prompt finalization

Kirk Pepperdine kirk at kodewerk.com
Tue Dec 27 15:16:33 PST 2011


Hi Dmitry,

I'm not sure that this usecase is a bug in GC/finalization but a misunderstanding of what finalization does and how it's suppose to function. If they know the socket is dead, why not just call close on it?

Regards,
Kirk

On 2011-12-27, at 9:19 PM, Dmitry Samersoff wrote:

> Jon,
> 
> It's not a real (escalated) case. Just an accumulation of
> what I heard from cu during last five years.
> 
> On 2011-12-27 20:49, Jon Masamitsu wrote:
> 
>> Before I try to answer your question, do you ever try to use
>> System.gc() to get finalizers to run?
> 
> Nope. Because (as you write it below) it's too disruptive especially
> because I have to call System.gc() twice to dry finalization queue.
> 
>>  If you don't because
>> System.gc() it too disruptive (generally being stop-the-world),
>> are you using CMS and have you tried using System.gc()
>> with -XX:+ExplicitGCInvokesConcurrent?
> 
> Nope also. In most cases System.gc(CMS) cause valuable performance
> degradation for cu's app.
> 
> 
> To clarify cu requirements:
> 
> e.g Huge trader like CBOE.  It has the application that have to be very
> responsive during a stock work day.
>   So they tune VM to have no GC during work day. Then they kill the app
> and start everything again next morning.
> 
> The problem is -  they rely to finalization to do some task. Most
> important (but not the only one) one is socket reclaiming .
> 
> -Dmitry
> 
> 
> 
> 
>> 
>> Jon
>> 
>> On 12/24/2011 4:33 AM, Dmitry Samersoff wrote:
>>> Jon,
>>> 
>>> One of problem with finalization nowdays is that with 1 Tb heap GC (and
>>> thus finalization) never happens.
>>> 
>>> Do you plan to address this problem?
>>> 
>>> -Dmitry
>>> 
>>> 
>>> On 2011-12-23 20:13, Jon Masamitsu wrote:
>>>> David,
>>>> 
>>>> From the VM side there are two issues that I think we should understand
>>>> better before we work on an API.  Those are described in the JEP as
>>>> 1) more aggressive management of the of finalization queue and 2)
>>>> multiple
>>>> finalizer threads.  We should see how much of the problem can be
>>>> alleviated by either or both or by other VM side changes that occur
>>>> to us
>>>> during the work and then think about what is left and what information
>>>> we want from the user to address what's left.   As Mark has said, I
>>>> think there will be a library side JEP at some point for those
>>>> discussions.
>>>> 
>>>> Jon
>>>> 
>>>> On 12/22/2011 6:15 PM, David Holmes wrote:
>>>>> On 23/12/2011 9:05 AM, mark.reinhold at oracle.com wrote:
>>>>>> Posted: http://openjdk.java.net/jeps/132
>>>>> hotspot-dev seems the wrong mailing list to discuss this. It is
>>>>> primarily a Java level API. I would suggest using core-libs-dev.
>>>>> 
>>>>> David
>>> 
> 
> 
> -- 
> Dmitry Samersoff
> Java Hotspot development team, SPB04
> * There will come soft rains ...



More information about the hotspot-dev mailing list