今天压系统,出现一个java.lang.OutOfMemoryError: unable to create new native thread问题,整个linux系统都不可用了.
通过top -H命令看到线程数大于3万。
通过ulimit -s 看到堆栈大小100K.
ps -mp <pid>定位到问题进程。
然后jstack pid 查看进程相关信息,定位到代码 ,fix。
总结:
遇到os莫名问题,首先要定位问题。从大到小缩小问题范围。以最稳妥的方式解决问题。
本文介绍了如何解决Java应用程序在Linux环境下出现的内存溢出问题,包括使用top-H命令检查线程状态,通过ulimit-s命令查看堆栈大小,利用ps-mp命令定位问题进程,并运用jstack工具定位具体代码位置。
今天压系统,出现一个java.lang.OutOfMemoryError: unable to create new native thread问题,整个linux系统都不可用了.
通过top -H命令看到线程数大于3万。
通过ulimit -s 看到堆栈大小100K.
ps -mp <pid>定位到问题进程。
然后jstack pid 查看进程相关信息,定位到代码 ,fix。
总结:
遇到os莫名问题,首先要定位问题。从大到小缩小问题范围。以最稳妥的方式解决问题。
2005

被折叠的 条评论
为什么被折叠?