Profile Image
vishnupriya

What is JVM startup parameter: -XX:+UseNUMAInterleaving?

What is JVM startup parameter: -XX:+UseNUMAInterleaving? Have you used this JVM arguement before? What are the pros & cons of using this Java argument? Can you share your perspective/experience in using this JVM argument?

  • jvmargument

  • xx-usenumainterleaving

  • x-usenumainterleaving

  • JVM startup parameter

Please Sign In or to post your comment or answer

Profile Image

Pavel Khodakovsky

Usage:

 

This option allows the JVM to interleave memory across NonUniform Memory Architecture (NUMA) nodes if available.

 

Since:

 

Starting from JDK 6.

 

Examples:

 

This will instruct JVM to enable interleave memory across NUMA nodes if available:

 

-XX:+UseNUMAInterleaving

 

Description:

 

Non-uniform memory access (NUMA) is a computer memory design used in multiprocessing, where the memory access time depends on the memory location relative to the processor. Under NUMA, a processor can access its own local memory faster than non-local memory (memory local to another processor or memory shared between processors). The benefits of NUMA are limited to particular workloads, notably on servers where the data is often associated strongly with certain tasks or users.

 

This flag provides a subset of the functionality provided by UseNUMA, and its main purpose is to provide that subset on OS like Windows which do not support the full UseNUMA functionality.

 

In UseNUMA terminology, UseNUMAInterleaved makes all memory "numa_global" which is implemented as interleaved.

 

The situations where this shows the biggest benefits would be:

  • Windows platforms with multiple numa nodes (eg, 4)
  • The JVM process is run across all the nodes (not affinitized to one node).
  • A workload that uses the majority of the cores in the machine, so that the heap is being accessed from many cores, including remote ones.
  • Enough memory per node and a heap size such that the default heap placement policy on windows would end up with the heap (or nursery) placed on one node.

Default Value:

 

By default, this option is disabled.

 

Arguments related:

 

UseNUMA

 

Related Posts:

 

Got something else on mind? Post Your Question

Not the answer you're looking for? Browse other questions tagged
  • jvmargument

  • xx-usenumainterleaving

  • x-usenumainterleaving

  • JVM startup parameter