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

tomcat的web项目压力测试时,测试了几秒钟,web服务开始无响应。tomcat的日志中看到如下错误:

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

 

查了以下该process开启的线程数为3366

$ pstree -p 22750 | wc -l
3366

 

而此时内存消耗量并不大,然后又用 ulimit -a查看了各个限制,发现 max user processes 才4096。

然后修改 /etc/security/limits.conf ,下方添加以下内容(webadmin是启动tomcat的用户):

root        -       nofile  655360
root        -       nproc   655360
webadmin        -       nofile  409600
webadmin        -       nproc   409600

然后再看ulimit,就没问题了

 

posted @ 2017-12-10 08:30  Beef Liu  阅读(228)  评论(0编辑  收藏  举报