当前位置: 代码迷 >> 综合 >> unable to create new native thread异常,以及Linux修改用户的max open files、max user processes
  详细解决方案

unable to create new native thread异常,以及Linux修改用户的max open files、max user processes

热度:47   发布时间:2023-12-16 11:03:27.0

 1、日志报错,问题定位参考:

https://www.cnblogs.com/woniu4/p/12359575.html

java.lang.OutOfMemoryError: unable to create new native thread

2、如果程序没有问题,修改open_file、max user processes参数

linux下open_file的值默认是1024;

max user processes的值默认是4096

1、root用户线程数文件句柄数

Linux系统非root用户无法通过ulimit -n的方法修改系统的最大打开文件数限制。
网上流传的vi /etc/security/limits.conf 方法也只能对root用户生效#改root 线程数65535 文件句柄数655351echo "ulimit -u 65535" >> /etc/profile
echo "ulimit -n 655351" >> /etc/profile
source /etc/profile[root@5gxx-2-19 ~]# cat /etc/profile
ulmit -u 65535
ulimit -n 655351#这个文件在系统中的默认值配置在/etc/security/limits.conf文件中
[root@5gxx-2-19 ~]# vim /etc/security/limits.conf
* - nofile 655351
* soft nofile 655351
* hard nofile 655351*		#代表所有用户
-		#超过文件句柄数时,什么都不干
soft	#超过文件句柄数时,仅提示
hard	#超过文件句柄数时,直接限制

2、普通用户文件句柄数 

#非root用户,普通用户修改文件句柄数655351[root@5gxx-2-19 ~]#  vim /etc/security/limits.d/20-nproc.conf添加#修改max user processes
* soft    nproc     65535#修改max open files
* soft nofile 655351
* hard nofile 655351

修改完查看

ulimit -a

  相关解决方案