• docker容器跑tomcat遇到的坑


    使用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

  • 相关阅读:
    第24课 #pragma使用分析
    第23课 #error和#line使用分析
    第22课 条件编译使用分析
    第21课 宏定义与使用分析
    Codeforces Round #142 (Div. 2)B. T-primes
    SPOJ XMAX
    Uva 10036
    Timus 1009. K-based Numbers
    MBLAST
    ROADS
  • 原文地址:https://www.cnblogs.com/276815076/p/4383517.html
Copyright © 2020-2023  润新知