报错
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操作系统无法创建更多进程,导致出错,并不是系统的内存不足。因此要解决这个问题需要修改Linux允许创建更多的进程,就需要修改Linux最大进程数。
$ ulimit -a
临时修改允许打开的最大进程数
$ ulimit -u 65535
临时修改允许打开的文件句柄
$ ulimit -n 65535
永久修改Linux最大进程数量
$ 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 查看修改是否成功
我自己修改完文件,重启了才没报错
永久修改用户打开文件的最大句柄数,该值默认1024,一般都会不够,常见错误就是not open file
$ vim /etc/security/limits.conf
bdata soft nofile 65536
bdata hard nofile 65536