RFE: Add compressed oops to VM info string
Mandy Chung
mandy.chung at oracle.com
Thu Nov 10 10:02:43 PST 2011
FWIW. Kumar added an internal option -XshowSettings to the launcher
in JDK 7 to print various VM and java settings. This could be a
potential place to include "compressed oops" and other VM ergonomic
setting in. It takes an optional suboption "all, vm, properties, locale".
$ java -XshowSettings:vm
VM settings:
Stack Size: 320.00K
Max. Heap Size (Estimated): 910.00M
Ergonomics Machine Class: server
Using VM: Java HotSpot(TM) Server VM
[snip..]
java -XshowSettings -version doesn't print the additional information. I haven't spent time looking into the reason why.
Mandy
On 11/10/11 08:01, Paul Hohensee wrote:
> I don't think the version string is the place for dumping ergo
> decision results,
> rather I agree with David Holmes and Joe that PrintFlagsFinal,
> PrintCommandLineFlags,
> or some other switch should be used. We shouldn't have "mixed mode",
> etc. in the
> string either, but given that they're there we're kinda stuck with them.
>
> The reason we have "Server" and "Client" (and "Embedded, btw) is to
> distinguish
> builds that are statically different. Tiered got folded into Server
> awhile ago, which
> is why it's no longer mentioned in the version string.
>
> Changing the version string is a non-trivial thing to do: it has to go
> through
> an approval process because it's a supported public interface. There
> are, e.g.,
> quite a few version string parsers out there that wouldn't take kindly
> to change.
>
> Paul
>
> On 11/10/11 8:18 AM, Volker Simonis wrote:
>> +1 from me
>>
>> On Thu, Nov 10, 2011 at 12:44 PM, Christian Thalinger
>> <christian.thalinger at oracle.com> wrote:
>>> On Nov 10, 2011, at 12:16 PM, Volker Simonis wrote:
>>>
>>>> Hi Kris,
>>>>
>>>> first I want to say that I like and support your enhancement request.
>>>>
>>>> However once we do this, if would suggest printing other
>>>> information as well.
>>>> Particularly the fact if we're using tiered compilation comes to my
>>>> mind here.
>>>>
>>>> I would therefore suggest to use a less verbose "compressed oops"
>>>> string and also
>>>> print the concrete compressed oops mode that's actually used
>>>> (unscaled, zerobased, heapbased).
>>>> This information may be particularly usefull because it may change
>>>> depending on the users heap setting
>>>> and the current system memory situation.
>>>>
>>>> So finally, we could use something like:
>>>>
>>>> OpenJDK 64-Bit Server VM (build 20.0-b11-internal, mixed mode, tiered,
>>>> compr-oops=unscaled)
>>> Honestly I don't know what it takes to change that string since it's
>>> a public known option. But my personal opinion is: print the most
>>> important runtime settings like JIT mode, GC used, compressed oops
>>> mode. Something along these lines:
>>>
>>> Java HotSpot(TM) Server VM (build 23.0-b03, mixed mode, tiered,
>>> serial gc, zerobased coops)
>>>
>>> Just my two cents...
>>>
>>> -- Chris
>>>
>>>> For such a version string, it would be probably better to construct
>>>> the string on the fly, otherwise
>>>> the 'info_strs' struct you are currently using may become too big.
>>>>
>>>> What are your opinions?
>>>>
>>>> Regards,
>>>> Volker
>>>>
>>>>
>>>> On Thu, Nov 10, 2011 at 8:54 AM, Krystal
>>>> Mok<rednaxelafx at gmail.com> wrote:
>>>>> Hi all,
>>>>> I'd like to propose to add "compressed oops" to the VM info
>>>>> string, so that
>>>>> people using "java -version" can get a better understanding of the
>>>>> ergonomics of the VM.
>>>>> I've posted a patch [1], against hsx20's master. The files
>>>>> modified are
>>>>> still pretty much the same on hotspot-main's master.
>>>>> With the patch applied, "java -version" may show:
>>>>> OpenJDK 64-Bit Server VM (build 20.0-b11-internal, mixed mode,
>>>>> compressed
>>>>> oops)
>>>>> and what used to work still works:
>>>>> OpenJDK Client VM (build 20.0-b11-internal, mixed mode, sharing)
>>>>> P.S. Alibaba (Taobao)'s OCA is submitted already, still waiting
>>>>> for approval
>>>>> from Oracle.
>>>>> Regards,
>>>>> Kris Mok
>>>>> Software Engineer, Taobao (http://www.taobao.com)
>>>>> [1]: https://gist.github.com/1354299
>>>
More information about the hotspot-dev
mailing list