hibernate - OutOfMemoryError : unable to create new native thread AWS

原文 标签 hibernate grails amazon-web-services amazon-ec2 out-of-memory

我的 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/

相关文章:

java - mysql中的 hibernate 关系

hibernate - 在没有 Hibernate 或 GORM 的情况下使用 Grails 域类

hibernate - Grails中的多对多关系

mysql - Spring Data似乎不了解@Column名称

hibernate - Grails dateCreated 字段失败并显示 "not-null property references a null or transient value"

grails - 应用程序启动后如何启动RabbitMQ监听器?

node.js - AWS SAM FindInMap未填充变量

.net - 在 .NET WCF 服务部署上选择 Azure 或 AWS

amazon-web-services - 通过 AWS 上的 API 在胶水表上添加分区?

java - Spring-Hibernate 中的每个线程是否应该有一个 EntityManager?