Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [openj9-dev] OpenJ9 question

I do not have comparison data against Azul Zing.

Btw, what are you requirements or concerns: latency (worst case, average, distribution) or throughput?

Metronome does have excellent pause time control, but it will compromise some throughput (against default Gencon GC policy) due to 1) not being generational and 2) various techniques to reduce fragmentation to avoid compaction.


Inactive hide details for akrus ---11/20/2017 01:35:43 PM---Hi Aleksandar,  Thanks a lot for the information!akrus ---11/20/2017 01:35:43 PM---Hi Aleksandar, Thanks a lot for the information!

From: akrus <akrus@xxxxxxxxxxx>
To: openj9 developer discussions <openj9-dev@xxxxxxxxxxx>
Date: 11/20/2017 01:35 PM
Subject: Re: [openj9-dev] OpenJ9 question
Sent by: openj9-dev-bounces@xxxxxxxxxxx

Hi Aleksandar,

Thanks a lot for the information!

Also one small question I wanted to ask - since IBM J9 was a commercial product, how does it compare to Azul Zing? Since Zing is mostly used on low latency apps, wondering if OpenJ9 would be a better choice considering the open source model.

From: Aleksandar Micic <Aleksandar_Micic@xxxxxxxxxx>
20 Nov 2017 8:21 pm
Re: [openj9-dev] OpenJ9 question

Hi Akrus, here are responses to a few questions:

2) with -Xgcpolicy:metronome and heap >25Gb I get this message:
Selected VM [default] does not exist.

Metronome does support heaps larger than 25g however it does not support 4-bit shift Compressed Refs for heaps 32g-64g. The observed behavior is a problem in redirector. The work around would be run with -Xnocompressedrefs or run with -Xcompressedrefs but with limitation of virtual memory below 32g

3) what's the best GC option for low latency apps? Does do not say this directly, but is it Metronome? Are there any flags than can further reduce GC pauses? -Xrealtime doesn't work, is it unavailable completely or it's a part of some subscription?

Yes, Metronome GC policy is best for low latency. Tuning options are here:
We also have the very new low-pause variant on Gencon GC policy with Concurrent Scavenger, but it's only available on newest IBM's Z series machines.

5) how to rotate GC logs?

Rolling verbose GC logs: Not sure what is meant by flush on signal. Our logs are by default synchronous, so there is no need for an explicit flush for ongoing logging - they are written in a file as soon as they are generated. If, however, by this is meant: close the current file and start using a new file, I don't think we support it.


openj9-dev mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit

Back to the top