java.lang.OutOfMemoryError: Unable to Create New Native Thread

昨天,同事发现一个这样的问题:java.lang.OutOfMemoryError: unable to create new native thread。发现heap内存还是充足的情况下,free memory还是充足的情况下,thread分配不了了。这个问题在于线程的数量 = (jvm进程内存 - jvm heap size) / 线程stack size.   所以这里解决的办法就是 增加 jvm进程内存,减少Jvm heap size, 以及减少每个thread的stack size.