• 解决-bash: fork: retry: Resource temporarily unavailable (修改最大线程数)


    错误提示的本质是Linux操作系统无法创建更多进程,导致出错。
    因此要解决这个问题需要修改Linux允许创建更多的进程。

    方案一:
    cat /etc/security/limits.conf

    echo "* soft nproc 2047" >>/etc/security/limits.conf
    echo "* hard nproc 16384" >>/etc/security/limits.conf

    sed -i 's/^*/#*/g' /etc/security/limits.d/90-nproc.conf

    方案二:
    通过ulimit -a来查看当前Linux系统的一些系统参数

    $ ulimit -a
    core file size (blocks, -c) 0
    data seg size (kbytes, -d) unlimited
    scheduling priority (-e) 0
    file size (blocks, -f) unlimited
    pending signals (-i) 62357
    max locked memory (kbytes, -l) 64
    max memory size (kbytes, -m) unlimited
    open files (-n) 65536
    pipe size (512 bytes, -p) 8
    POSIX message queues (bytes, -q) 819200
    real-time priority (-r) 0
    stack size (kbytes, -s) 10240
    cpu time (seconds, -t) unlimited
    max user processes (-u) 1024
    virtual memory (kbytes, -v) unlimited
    file locks (-x) unlimited

    在上面这些参数中,通常我们关注得比较多的是一个进程可打开的最大文件数,即open files。
    系统允许创建的最大进程数量即是max user processes 这个参数。
    我们可以使用 ulimit -u 4096 修改max user processes的值,但是只能在当前终端的这个session里面生效,重新登录后仍然是使用系统默认值。
    正确的修改方式是修改/etc/security/limits.d/90-nproc.conf文件中的值。


    $ cat /etc/security/limits.d/90-nproc.conf
    # Default limit for number of user's processes to prevent
    # accidental fork bombs.
    # See rhbz #432903 for reasoning.

    * soft nproc 4096

    我们只要修改上面文件中的4096这个值,即可。


    方案三:(临时生效)

    ulimit -u 2048

  • 相关阅读:
    【转】js 获取浏览器高度和宽度值(多浏览器)
    Css相册
    微信公众号开发笔记2-自定义菜单
    微信公众号开发笔记1-获取Access Token
    【转】CSS选择器笔记
    【转】CSS浮动(float,clear)通俗讲解
    高云的jQuery源码分析笔记
    经典闭包例子详解
    执行控制——节流模式
    图片上下左右的无缝滚动的实现
  • 原文地址:https://www.cnblogs.com/sprinng/p/6902169.html
Copyright © 2020-2023  润新知