`

-bash: fork: Resource temporarily unavailable

 
阅读更多
出现这个问题的原因是linux用户的连接数设置的太小,只要修改max user processes就可以
  设置各linux 用户的最大进程数,下面我把某linux用户的最大进程数设为10000个:
  ulimit -u 10000

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) 81920
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536需要修改 (因为是tcp协议  要打开套接字,要打开文件句柄,而单进程的最大打开文件句柄操作系统是有限制的,默认是1024)
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) 81920
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

何谓core文件,当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。
core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。  
core文件是个二进制文件,需要用相应的工具来分析程序崩溃时的内存映像。  
系统默认core文件的大小为0,所以没有创建。可以用ulimit命令查看和修改core文件的大小。

永久性改变
解除 Linux 系统的最大进程数和最大文件打开数限制:
        vi /etc/security/limits.conf
        # 添加如下的行
        * soft noproc 11000  #软连接 
        * hard noproc 11000  #硬连接
        * soft nofile 4100  
        * hard nofile 4100
       说明:* 代表针对所有用户,noproc 是代表最大进程数,nofile 是代表最大文件打开数

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics