當我運行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