Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
EC2 java.lang.OutOfMemoryError:无法创建新的本机线程_Java_Amazon Web Services_Amazon Ec2_Tomcat8 - Fatal编程技术网

EC2 java.lang.OutOfMemoryError:无法创建新的本机线程

EC2 java.lang.OutOfMemoryError:无法创建新的本机线程,java,amazon-web-services,amazon-ec2,tomcat8,Java,Amazon Web Services,Amazon Ec2,Tomcat8,我让ApacheTomcat在由Elastic Beanstalk管理的PROD EC2实例上运行 每五到六个小时,传入的请求就会因错误而失败 java.lang.OutOfMemoryError: Unable to create new native thread 我最初认为,将EB配置中的JVM堆大小从默认值256m提高到1024m将有助于缓解这个问题,但它仍然会复发 当然,由于我的UAT环境没有PROD环境的负载系数,所以在UAT中没有出现这个问题 由于EC2实例位于bastion主机

我让ApacheTomcat在由Elastic Beanstalk管理的PROD EC2实例上运行

每五到六个小时,传入的请求就会因错误而失败

java.lang.OutOfMemoryError: Unable to create new native thread
我最初认为,将EB配置中的JVM堆大小从默认值
256m
提高到
1024m
将有助于缓解这个问题,但它仍然会复发

当然,由于我的UAT环境没有PROD环境的负载系数,所以在UAT中没有出现这个问题

由于EC2实例位于bastion主机后面,我无法使用VisualVM或其他内存分析工具直接连接到它


有谁能建议我应该如何找出导致此问题的原因并一劳永逸地解决它吗?

可能是线程泄漏。请尝试使用或调试器跟踪线程数。@kichik正如我在前一篇文章中提到的,EC2实例位于bastion主机后面,我的infra团队不允许我用VisualVM连接到它。然后手动上传到某个地方。一个
kill-3Java?pid
会将线程转储到stdout,当然stdout可能会进入日志file@kichik好吧我已经得到了线程转储,并将其加载到VisualVM中,但是我该从这里走到哪里呢?