1. 程式人生 > >linux設定最大開啟檔案數

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

End;