当我运行mvn test
时,收到以下异常。我曾尝试提升和降低我的Xmx和Xss JVM设置,并在ulimit下突破所有限制。有大约1300次测试,最后200次总是失败,并有此例外。自己运行这些测试可以让他们通过。相同的测试通过我的Ubuntu的盒子。在我的Mac上运行测试时收到此异常。我很确定它是一个环境问题,但我已经调整了我所知道的所有设置,绝对没有运气。mvn test java.lang.OutOfMemoryError:无法创建新的本机线程
我使用的是mvn 2.1和Java 6.我的测试框架是junit 4.8。
java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:658)
at java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(ThreadPoolExecutor.java:727)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:657)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:92)
at com.google.appengine.tools.development.ApiProxyLocalImpl$PrivilegedApiAction.run(ApiProxyLocalImpl.java:197)
at com.google.appengine.tools.development.ApiProxyLocalImpl$PrivilegedApiAction.run(ApiProxyLocalImpl.java:184)
at java.security.AccessController.doPrivileged(Native Method)
at com.google.appengine.tools.development.ApiProxyLocalImpl.doAsyncCall(ApiProxyLocalImpl.java:172)
at com.google.appengine.tools.development.ApiProxyLocalImpl.makeAsyncCall(ApiProxyLocalImpl.java:138)
你应该得到一个线程转储失败了。它可能会为每个可能会变得混乱的测试分配一个线程。 – 2011-05-23 16:39:02
嗯,我没有。我是否需要提供任何额外的mvn参数来获取?我正在使用surefire插件来运行测试。此外,我试图通过参数禁用分支测试,并没有帮助。 – Brad 2011-05-23 16:40:08
另请参阅此答案[这里](http://stackoverflow.com/questions/2860889/cant-get-past-2542-threads-in-java-on-4gb-imac-osx-10-6-3-snow -leopard-32bit/6413546#6413546) – 2011-06-20 15:22:54