本文解决的是Dubbo的线程模型中Linux 用户线程数限制导致的 java.lang.OutOfMemoryError: unable to create new native thread 异常。
类似于数据库的连接池
Linux 用户线程数限制导致的 Java.lang.OutOfMemoryError: unable to create new native thread异常
系统默认最大的线程数为1024个
[root@liuyazhuang131 ~]# cat /etc/security/limits.d/90-nproc.conf # Default limit for number of user's processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning. * soft nproc 1024 root soft nproc unlimited [root@liuyazhuang131 ~]# vi /etc/security/limits.d/90-nproc.conf
调整时要注意:
1、 尽量不要使用 root 用户来部署应用程序,避免资源耗尽后无法登录操作系统。因为root用户默认没有限制线程数,如果线程过多,会使资源占用很多,导致不能关机,只能硬关机
2、 普通用户的线程数限制值要看可用物理内存容量来配置