我的 Grails 应用程序部署在 AWS EC2 实例中的 Tomcat 6 中。我遇到的问题是它无法启动并不断收到错误:OutOfMemoryError:无法创建新的 native 线程。当我运行 VisualVM 时,似乎创建了很多线程,大约 1,000 多个。我对使用这个工具不太熟悉,似乎无法确定我的代码的哪一部分创建了这么多线程。我注意到的一件事是,当我禁用 hibernate 二级缓存或将 net.sf.ehcache.hibernate.EhCacheProvider 更改为 net.sf.ehcache.hibernate.SingletonEhCacheProvider 时,线程数显着减少。有没有一种工具可以基本上帮助我确定我的代码在哪里导致线程创建的大量增加?
最佳答案
yourkit java profiler在显示堆栈方面做得不错。 NewRelic 也是如此。有一些维护不善的东西,例如 Grails Profiler plugin .
关于hibernate - OutOfMemoryError : unable to create new native thread AWS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30656654/