How to detect if the VM is running with compact refs from within the VM (no agent)?

Dawid Weiss dawid.weiss at gmail.com
Wed Mar 14 01:44:13 PDT 2012


Thanks Kris!

I thought about parsing command-line but I wasn't sure about the
runtime -- can it switch to compressed OOPS on its own (or rather: is
there a heuristic to switch to compressed OOPS or is it always full
refs in 64 bit mode unless an explicit command line option's been
given)?

Dawid

> You could use HotSpotDiagnosticMXBean via JMX to get VM options. An example
> here [1].
>
> If you're trying to get this information from the command line, use:
>   jinfo -flag UseCompressedOops <pid>
>
> HTH,
> - Kris
>
> [1]:  https://gist.github.com/1333043
>
>
> On Wed, Mar 14, 2012 at 4:30 PM, Dawid Weiss <dawid.weiss at gmail.com> wrote:
>>
>> Hi everyone,
>>
>> This has been asked on Apache Lucene JIRA and I admit I don't know the
>> answer:
>>
>> Is there a way to detect the reference size (which boils down to
>> compact vs. full reference on 64 bit machines) from within Java?
>>
>> I assume the VM starts without an agent so Instrumentation is not
>> available. I'd appreciate a comment if somebody knows right away (even
>> if it's a: "no"), otherwise I'll go through the sources and try to
>> figure it out on my own.
>>
>> Thanks,
>> Dawid
>
>


More information about the hotspot-compiler-dev mailing list