生产机器,在发布新的应用程序后,会报“Error occurred during initialization of VM java.lang.OutOfMemoryError:unable to create new native thread”。
经分析是系统参数设置问题,导致新的应用程序不能分配足够的系统资源。由于该异常无法在测试环境重现(相同配置机器,已经请测试组帮忙压测,并未重现此异常)。所以,经过查找资料,并参考网关平台的参数设置,以及和各位技术大牛讨论的方案如下:
申请调大参数,设置max user processes= 64000
操作方案如下:(该操作需要root账号)
修改所有 linux 用户的环境变量文件:
1. vi /etc/profile
2. 在文件最后添加
ulimit -u 65535
ulimit -n 64000
3. 保存后运行#source /etc/profile 使其生效