報錯
java.lang.OutOfMemory, unable to create new native thread
Caused by: java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:640)
原因
上面這段錯誤提示的問題是Linux操作系統(tǒng)無法創(chuàng)建更多進程,導致出錯戏阅,并不是系統(tǒng)的內存不足粗俱。因此要解決這個問題需要修改Linux允許創(chuàng)建更多的進程,就需要修改Linux最大進程數(shù)峡懈。
$ ulimit -a
臨時修改允許打開的最大進程數(shù)
$ ulimit -u 65535
臨時修改允許打開的文件句柄
$ ulimit -n 65535
永久修改Linux最大進程數(shù)量
$ vim /etc/security/limits.d/90-nproc.conf
root soft nproc unlimited
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
* soft memlock -1
* hard memlock -1
使用 su - <user> 切換到普通用戶
ulimit -a 查看修改是否成功
我自己修改完文件,重啟了才沒報錯
永久修改用戶打開文件的最大句柄數(shù),該值默認1024对妄,一般都會不夠河绽,常見錯誤就是not open file
$ vim /etc/security/limits.conf
bdata soft nofile 65536
bdata hard nofile 65536