欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java.lang.outofmemoryerror unable to create new native thread

程序员文章站 2022-06-13 21:30:29
...

最近发现项目运行中总是会出现一个问题。

java.lang.outofmemoryerror unable to create new native thread

问题的原因是java线程开启过多,超过了服务器的负载。
我们的项目是因为调用了腾讯云的cos,它最下来一句很小的shutdowm没看到,所以导致了线程开启过多。

排查方式。网上说用ulimit -n。可自行尝试。
我这边使用的是:

pstree -up | less

返回类似

          |-java(4793,user)-+-{java}(4795)
           |                    |-{java}(4796)
           |                    |-{java}(4797)
           |                    |-{java}(4798)
           |                    |-{java}(4799)
           |                    |-{java}(4800)
           |                    |-{java}(4801)
           |                    |-{java}(4802)

4793为进程ID
可以看到 4793 的程序开启了8个线程。
我们项目有一个开启了上万线程。必然是有问题了。