OperatingSystemMXBean.getAvailableProcessors should return the number of processors made available to the process. Docker can place limits on it.
Mis-reporting the number can throw off heuristics for optimizing computations based on memory size and available processors.
It is hinted that the number of processors reported from /proc on linux reports the hardware processors not those permitted to the process.
sysconf(_SC_NPROCESSORS_CONF) may be more reliable in this case.