# Pastebin Im8HBHsL To raise the number of concurrent threads you should lower the default stacksize java -Xss 64k. A Oracle 32 bit JVM will default to 320kb stack size per thread. For a 32 bit JVM with 2gb of addressable memory this will give you a maximum of 6.5k threads. A Oracle 64 bit JVM will default to 1M stack size per thread. For each gigabyte of memory you would get 1024 threads using the defaults. For Linux only: ulimit -a will give you the configured limits, for user processes and memory You will only get 32k unique PIDs in linux cat /proc/sys/kernel/pid_max - a maximum of 32k processes. You will get only 255k threads cat /proc/sys/kernel/threads-max