Numa Collectors in Hotspot

Hohensee, Paul hohensee at
Tue Sep 26 16:08:53 UTC 2017

For G1, see also

At Amazon, we have use cases where we’d prefer to use G1 heaps that exceed the size of the memory attached to a single socket on NUMA systems. Without G1 recognition and use of UseNUMA, we’re forced to use multiple single-socket JVMs and consolidate their results, which is (a) more complex to implement, and (b) slower than we’d like. Enhancing G1 to recognize and use UseNUMA would be a win for us.



On 9/26/17, 8:48 AM, "Hohensee, Paul" <hohensee at> wrote:

    The Hotspot GC people may correct me wrt to the following.
    See  for a discussion of UseNUMA for the Parallel collector in JDK8.
    For all the other collectors except G1, UseNUMA will interleave each heap space (old gen, eden, survivor spaces) across the NUMA nodes, in an effort to average memory access latencies across the box. G1 doesn’t seem to know about NUMA.
    A quick look at the source says that nothing has changed for JDKs 9 and 10.
    On 9/25/17, 11:54 PM, "hotspot-gc-dev on behalf of Per Liden" <hotspot-gc-dev-bounces at on behalf of per.liden at> wrote:
        On 2017-09-26 05:43, Ionut wrote:
        > Hello All,
        >    I was searching about a NUMA collector in Hotspot. Besides Parallel /
        > Parallel Old I could not find any other Collector ( I am reffering here
        > to CMS or G1).
        > Could you please confirm/infirm that only Parallel/Parallel Old is
        > allocating taking into account NUMA architecture?
        That's correct.

More information about the hotspot-gc-dev mailing list