linux创建线程报错资源受限

Linux Error: 11 Resouce temporarily unavailable

可能涉及到的限制:

  1、/proc/sys/kernel/threads-max

    系统允许的最大线程数

  2、/proc/sys/kernel/pid_max

    系统最大pid

  3、用户资源限制

    ulimit -u 查看当前用户的max user processes

    cat /proc/PID/limits 查看进程资源限制

    修改上述限制,可改动配置文件/etc/security/limits.conf,举例如下:

      * soft nofile 65536

      * hard nofile 65536 

      * soft nproc 65536

      * soft nproc 65536

      *表示所有用户, soft表示软限制,hard表示硬限制, nproc表示线程数, nofile表示文件描述符数,65536是当前用户的所有进程总和

       4、systemd资源限制

    4.1 命令方式操作

      systemctl set-properity ServiceName TasksMax=infinity  //设置服务ServiceName 的线程数上限

      systemctl show -p TasksMax  ServiceName   //查看设置的属性

      systemctl  daemon-reexec   //是配置修改生效

    4.2 直接修复文件

      /etc/systemd/system.conf    //配置所有的服务

      /etc/systemd/system/服务名称.service.d/目录配置文件

      修改后执行systemctl  daemon-reexec使其生效

posted @ 2023-05-22 22:46  ho966  阅读(161)  评论(0编辑  收藏  举报