linux设置最大打开文件数

一、查看当前用户对进程打开文件最大数的限制

$ ulimit -a | grep open

二、系统对进程打开文件最大数是如何限制的

先来看man的一段解析:

    /proc/sys/fs/file-max  
           This file defines a system-wide limit on the number of open files for all processes.  (See also setrlimit(2),  which  can  be  
           used by a process to set the per-process limit, RLIMIT_NOFILE, on the number of files it may open.)  If you get lots of error  
           messages in the kernel log about running out of file handles (look for "VFS: file-max limit <number> reached"), try  increas‐  
           ing this value:  
      
               echo 100000 > /proc/sys/fs/file-max  
      
           The kernel constant NR_OPEN imposes an upper limit on the value that may be placed in file-max.  
      
           If  you  increase  /proc/sys/fs/file-max,  be  sure  to  increase  /proc/sys/fs/inode-max  to  3-4  times  the  new  value of  
           /proc/sys/fs/file-max, or you will run out of inodes.  
      
           Privileged processes (CAP_SYS_ADMIN) can override the file-max limit.  

(1)修改系统总限制(永久生效)

echo "655350" > /proc/sys/fs/file-max  

(2)修改进程的软硬限制(永久生效)

vi /etc/security/limits.conf  

添加:

* soft nofile 655350  
* hard nofile 655350  

注:*表示所有用户都生效

三、重启shell,校验配置是否生效

$ ulimit -a | grep open

原文出自:http://blog.csdn.net/daiyudong2020/article/details/77828959

原文地址:https://www.cnblogs.com/wangqianqiannb/p/9131825.html