Search code examples
javanuma

Why tell JAVA about NUMA with flag?


I have system. It is Java and use multithreads. Also has 24 CPU with NUMA enable. Why to tell JAVA of NUMA with -XX:+UseNUMA ? Is it not OS know NUMA already and will take care of?

I have run the google and do not find this answer. This one does not say: How does -XX:+UseNUMA affects JVM performance for systems with only one node?

Thanks you


Solution

  • This is an open issue since 2012. There were also some problem pre-Java 11. Unless enabling it is an automatic performance improvement without side effects on the multitude of possible configuration and scenario, it's unlikely to happen. That said, at least one GC, namely zgc do enable NUMA by default.