MQ java.lang.OutOfMemoryError: unable to create new native thread
生活随笔
收集整理的這篇文章主要介紹了
MQ java.lang.OutOfMemoryError: unable to create new native thread
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 1. 問題現(xiàn)象
- 2. 分析定位
- 3. 解決方案
- 4. 結(jié)果驗證
- 5. 總結(jié)
1. 問題現(xiàn)象
java.lang.OutOfMemoryError: unable to create new native thread
2. 分析定位
生產(chǎn)上所有程序都是在jboss賬戶下運行,于是查看該賬戶下所有的線程數(shù)總和為950,也即是說,隨時都可能會超過1024,導致內(nèi)存溢出。查看進程當前運行的線程數(shù)命令為:
pstree -p 3660 | wc -l如果出現(xiàn):-bash: pstree: 未找到命令
在線安裝: yum install psmisc
原因找到,操作系統(tǒng)對運行程序的賬戶有最大線程數(shù)限制。
3. 解決方案
vim /etc/security/limits.d/90-nproc.conf
打開后發(fā)現(xiàn)除了root,其他賬戶都限制在1024個。
于是增加一條:
為什么設(shè)置為20000,因為測試后發(fā)現(xiàn),在運行到35000左右,系統(tǒng)就報內(nèi)存溢出了,操作系統(tǒng)所有命令都不能使用,因此將程序最大線程數(shù)限制在20000。
4. 結(jié)果驗證
修改后再沒出現(xiàn)內(nèi)存溢出錯誤。問題解決。
5. 總結(jié)
經(jīng)過總結(jié),在遇到問題后,不能盲目的到處修改,首先要做的就是重現(xiàn)問題,順藤摸瓜,逐步的找出根本原因。
總結(jié)
以上是生活随笔為你收集整理的MQ java.lang.OutOfMemoryError: unable to create new native thread的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue项目启动后Error: Canno
- 下一篇: js获取数组中最大和最小值