JVM flags: product -> manageable ?
Staffan Larsen
staffan.larsen at oracle.com
Tue Mar 13 09:48:30 PDT 2012
Here is the list of JEPs: http://jep.openjdk.org/jeps/0
The logging JEP has not been published (or written...) yet.
/Staffan
On 13 mar 2012, at 17:31, Srinivas Ramakrishna <ysr1729 at gmail.com> wrote:
> Yes, I am aware that a small subset of the options are already manageable or
> product_rw, and the CR I referenced wanted to extend that set.
> I am classifying the remaining options (but primarily the print/trace
> ones, and primarily
> related to GC) based on how we can modify them on-the-fly. I'll send
> out the classification soon
> and submit a patch of changes after i've done some light testing.
>
> (PS: I am assuming the JEP question is for Staffan; I haven't quite
> kept track of
> them although I have seen some announced on these lists on and off. Don't know
> if there's a single URL/point of entry into the JEP pool.)
>
> - ramki
>
> On Tue, Mar 13, 2012 at 12:29 AM, Kirk Pepperdine <kirk at kodewerk.com> wrote:
>> Hi Ramki,
>>
>> As you're most likely aware, you can turn on basic GC logging on the fly.
>> From my look at GC logging code I've not seen anything that would preclude
>> turning on other options that would print more information. True, it might
>> cause the logs to be corrupted in the first cycle but since GC log analysis
>> is akin to pool chemistry. It's typically performed with 100s of records, a
>> few bad ones isn't going aren't going to change much and an extra scoop
>> isn't going to make a difference w.r.t. conclusions.
>>
>> Has the JEP for gc logging been released? I've not seen it being discussed
>> and I'm keenly interested in this. In fact, my plan was to spend some time
>> in April/May digging into it.
>>
>> Regards,
>> Kirk
>>
>> On 2012-03-12, at 9:34 PM, Srinivas Ramakrishna wrote:
>>
>> Good point. Typically the way this is managed in GC code is to take a
>> snapshot of the options in the prolog and to use them in the GC proper.
>> (I believe there is code in CMS that does stuff like this because of the
>> interaction between heap verification and
>> class unoading, and i can't recall which if either of these can be
>> manageable (ah. i know -- this is because
>> we can ask for verification to switch on at a specific GC and turn off after
>> a specific GC or something like that.)
>> I believe the same applies to some of the "dump" options as well.
>>
>> You are right though that if the flag involves communication of data across
>> a specific temporal point (in general),
>> then one would want to take a snapshot at the right place. Typically (but
>> not always) safepoints have served as such
>> a point. But this would need an audit on a case-by-case basis.
>>
>> Thanks for pointing this out! I believe this is still worth doing in the
>> shorter term if possible, and I am happy to
>> help if asked (my OCA is being processed i believe).
>>
>> -- ramki
>>
>> On Mon, Mar 12, 2012 at 1:15 PM, Staffan Larsen <staffan.larsen at oracle.com>
>> wrote:
>>>
>>> I don't know how reliable it would be to just make those flags manageable.
>>> For example, the GC code may have code paths that set up information for
>>> logging at an early point in time only if logging is enabled, and depend on
>>> this information being available later. Turning on logging mid-flight could
>>> cause problems here. I don't know if this is true, though, but it would have
>>> to be examined when making flags manageable.
>>>
>>> /Staffan
>>>
>>> On 12 mar 2012, at 20:47, Srinivas Ramakrishna wrote:
>>>
>>> Thanks for the prompt response, Staffan!
>>>
>>> One question is re support of existing flags (in particular GC flags) and
>>> their toggling via the
>>> existing jmap interface. I am sure that will be detailed in the JEP in
>>> progress.
>>> In the much shorter term, I was wondering if the step of changing the
>>> trivially changeable
>>> GC-logging flags could be accomplished, since that would really involve a
>>> quick audit and some
>>> really quick performance numbers to ascertain that something unexpected
>>> did not happen,
>>> so should be relatively lightweight....
>>>
>>> thoughts/comments?
>>> -- ramki
>>>
>>> On Mon, Mar 12, 2012 at 12:40 PM, Staffan Larsen
>>> <staffan.larsen at oracle.com> wrote:
>>>>
>>>> Maybe a little off-topic, but there are plans to revise JVM logging as a
>>>> whole. As part of this, it is planned that logging can be turned on and off
>>>> at runtime. A JEP is in progress.
>>>>
>>>> Thanks,
>>>> /Staffan
>>>>
>>>>
>>>> On 12 mar 2012, at 20:26, Srinivas Ramakrishna wrote:
>>>>
>>>>
>>>> Hi all --
>>>>
>>>> What's the plan for:
>>>>
>>>> 6950384 We should make some / all GC logging parameters manageable
>>>>
>>>> Is this on the cards for the near-future?
>>>>
>>>> I'd be very interested to see this happen because it really improves the
>>>> JVM/GC
>>>> serviceability/obsevability story (at least from a low-level
>>>> perspective).
>>>>
>>>> thanks for any info!
>>>> -- ramki
>>>>
>>>> PS: Aside: the CR is specific to hotspot/gc -- are there corresponding
>>>> plans for
>>>> flags from any of the other components within the JVM besides GC?
>>>> (My current interest is only in some of the GC logging flags, so this is
>>>> really more a curiosity wrt other parts of the JVM, rather than an
>>>> explicit
>>>> interest at this time in those other flags.)
>>>>
>>>>
>>>
>>>
>>
>>
More information about the hotspot-dev
mailing list