关于storm程序运行起来“java.lang.OutOfMemoryError: unable to create new thread解决方案

问题:storm程序运行起来,发现提示不能创建更多的线程!自己查看服务器的内存(free -g)和cpu
利用率(top)及磁盘剩余空间(df -h),发现还有许多可用资源,于是怀疑(多半是)系统默认创建进程数(1024个)(ulimit -a)限定所致!
1、 系统RedHat
2、 修改/etc/security/limits.conf文件

3、接着修改/etc/security/limits.d/90-nproc.conf文件


Scmcc:为我自己的用户,根据实际情况自己修改

soft:提示警告信息

nproc:最大用户进程数

hard:报错信息

4、 接着修改/etc/pam.d/login 文件,在最后添加


5、 还没完!如果你只是做到这里那么你退出当前用户或则退出终端之后重新登录,max user processes还是跟以前设置一样!

 

RedHat系统一定要重启主机!!!!!!!!!!!!!!(其他的未测试)所以在一开始就说了用的是RedHat系统。
6、重启主机后的结果如图:
关于storm程序运行起来“java.lang.OutOfMemoryError: unable to create new thread解决方案_第1张图片

7、因此你就可以创建更多的worker、executor、task数目了,赶紧修改你的storm程序进行调优吧!









 

 

你可能感兴趣的:(Storm,Linux)