關於“java.lang.OutOfMemoryError : unable to create new native Thread”的報錯問題
阿新 • • 發佈:2018-09-05
ulimit命令 既然 tps spa 好的 tiger src targe new
轉自:https://www.cnblogs.com/flying-tiger/p/5956926.html
java.lang.OutOfMemoryError : unable to create new native Thread.
具體截圖如下:
在查看日誌文件的時候,也有以下出錯信息:
Error occurred during initialization of VM...
經過百度,找到方法:
既然報“OutOfMemoryError”,而且還是“ unable to create new native Thread.”,那麽很可能是程序申請的Thread數超過了系統能夠承載的限制。但是作為一臺性能還不錯的服務器,沒理由系統資源不夠用啊?
好的,那我們用ulimit命令查看一下系統的對進程資源的控制:
ulimit -a
輸出如下:
似乎是max user processes數不足?
還是使用ulimit 命令,把max user processes放大一倍試試:
ulimit -u 2048 (使用postgres用戶運行該命令)
得到:
(這裏值得說一下,因為我這裏只是想臨時改變當前shell的設置,要是想永久設置要修改/etc/security/limits.conf文件,請自行百度)。
修改完之後再運行:
關於“java.lang.OutOfMemoryError : unable to create new native Thread”的報錯問題