If the VM is executed on a machine with a large number of cores, it will create a large number of compiler threads. For example, on a 24-core machine, the VM will create 12 compiler threads (8 C2 compiler threads + 4 C1 compiler threads).
On 32-bit platforms the virtual memory available to processes is limited to 2-3GB. If 32-bit VM is executed on a such large platform, the high number of compiler threads can contribute substantially to memory exhaustion on the system: In extreme cases one C2 compiler threads can use ~1GB of physical memory (seeJDK-8129847 for more details).
The current issue is supposed to host discussion about setting the number of compiler threads in a better way on 32-bit platforms. One option could be to set the number of compiler threads to 2 (1 C2 compiler thread + 1 C1 compiler thread) on these platforms.
On 32-bit platforms the virtual memory available to processes is limited to 2-3GB. If 32-bit VM is executed on a such large platform, the high number of compiler threads can contribute substantially to memory exhaustion on the system: In extreme cases one C2 compiler threads can use ~1GB of physical memory (see
The current issue is supposed to host discussion about setting the number of compiler threads in a better way on 32-bit platforms. One option could be to set the number of compiler threads to 2 (1 C2 compiler thread + 1 C1 compiler thread) on these platforms.