Posts

Showing posts from March, 2012

Resolving OutOfMemoryError: unable to create new native thread

(This was tested on Red Hat EL6 JDK 1.6.31 64-bit) If you've ever come across this error, it can be very misleading. Caused by: java.lang.OutOfMemoryError: unable to create new native thread at java.lang.Thread.start0(Native Method) at java.lang.Thread.start(Thread.java:640) The common suggestion (as the error suggests) is a memory related problem. Some tips but ultimately unhelpful: http://candrews.integralblue.com/2009/01/preventing-outofmemoryerror-native-thread/ http://www.caucho.com/resin-3.0/performance/jvm-tuning.xtp http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html The common theme amongst all of them is the stack size. Came across this post with same test code: http://www.odi.ch/weblog/posting.php?posting=411 However the tests were inconsistent, modified it to only go 50 calls deep. Modified code here . We discovered that changing the options made very little difference to the maximum number of threads. Originally we thought it