Using ShenandoahGC forces NUMAInterleaving on
Tom Babinski
tbabinski at gmail.com
Wed Aug 28 18:07:06 UTC 2019
Hello,
If Shenandoah is turned on with the command line parameters
-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC
then NUMAInterleaving is forced on, even if it is explicitly turned off with
-XX:-UseNUMAInterleaving
To reproduce, run
java -XX:+PrintFlagsFinal -XX:-UseNUMAInterleaving
-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC --version | grep
UseNUMAInterleaving
You should see the following output:
bool UseNUMAInterleaving = true
{product} {command line}
Version:
openjdk 12.0.2 2019-07-16
OpenJDK Runtime Environment AdoptOpenJDK (build 12.0.2+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 12.0.2+10, mixed mode,
sharing)
Centos/7
Kernel: 3.10.0-862.14.4.el7.x86_64
Any thoughts? We run an application with numactl --membind=<node> to force
memory allocation onto a specific numa node. However, when we turn on
Shenandoah, we can observe memory being allocated on a different numa node
(using numastat -p)
Thanks,
Tom
More information about the shenandoah-dev
mailing list