1、今天线上的环境昨天晚上上线后好好的突然出现异常
java.lang.OutOfMemoryError: unable to create new native thread
2、排查问题(很奇怪的情况,因为我的模块并没有不停创建线程的情况),重启进程,还是一样的问题出现,只要发数据就会出现。
3、可能是别人的模块出现了内存异常,线程异常问题,而我的模块线程池用的是JVM的公共线程并没有自己去创建维护。
4、查看系统进程与线程上线
ulimit -a
5、top
6、top -h
7、我这里是没办法重现了,因为别的同事也在排错,发现是他负责的模块不停的在创建线程,重启后就好了
7.2
1、top -H
手册中说:-H : Threads toggle
加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。
2、ps xH
手册中说:H Show threads as if they were processes
这样可以查看所有存在的线程。
8、参考https://www.cnblogs.com/EasonJim/p/8098217.html