使用docker容器跑tomcat,由于同一個宿主機上跑了多個容器,再加上宿主機本身跑了很多進程,導致系統總的進程數達到了8000+,而容器中tomcat的啟動腳本中會調用自帶的setenv.sh,在 setenv.sh 中有這么一句 ulimit -u 8192 ,由于系統進程數已經達到了8192,因此在啟動tomcat時會報錯:
tomcat/bin/catalina.sh: fork: retry: No child processes
tomcat/bin/catalina.sh: fork: retry: No child processes
tomcat/bin/catalina.sh: fork: retry: No child processes
tomcat/bin/catalina.sh: fork: retry: No child processes
tomcat/bin/catalina.sh: fork: Resource temporarily unavailable
導致tomcat無法啟動, 后來修改setenv.sh,將ulimit -u 8192,改為ulimit -u 58192 ,tomcat可以正常啟動了。
系統max proc配置(ulimit -a查看)在/etc/security/limits.conf中。
系統limit設置修改方法推薦鏈接:
http://pvbutler.blog.51cto.com/7662323/1558092
http://jingyan.baidu.com/article/1974b289a397d1f4b1f77495.html
http://www.cnblogs.com/mylingc/archive/2013/05/24/3097416.html
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
