public class ProcessorInfo extends ObjectProvides general information about the processors on this host.
- Tristan Tarrant
public static int availableProcessors()Returns the number of processors available to this process. On most operating systems this method simply delegates to
Runtime.availableProcessors(). However, before Java 10, under Linux this strategy is insufficient, since the JVM does not take into consideration the process' CPU set affinity and the CGroups quota/period assignment. Therefore this method will analyze the Linux proc filesystem to make the determination. Since the CPU affinity of a process can be change at any time, this method does not cache the result. Calls should be limited accordingly.
The number of available processors can be overridden via the system property infinispan.activeprocessorcount, e.g. java -Dinfinispan.activeprocessorcount=4 .... Note that this value cannot exceed the actual number of available processors.
Since Java 10, this can also be achieved via the VM flag -XX:ActiveProcessorCount=xx.
Note that on Linux, both SMT units (Hyper-Threading) and CPU cores are counted as a processor.
- the available processors on this system.
public static void main(String args)