-bash:fork:Resource temporarily unavailable


Java代码  
出现这个问题的原因是linux用户的连接数设置的太小,只要修改max user processes就可以    www.2cto.com  
  设置各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文件中复制了该进程的存储图像。  
  www.2cto.com  
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 是代表最大文件打开数

你可能感兴趣的:(-bash:fork:Resource temporarily unavailable)