fs-max、file-nr和nofile的关系
1. file-max
/proc/sys/fs/file-max:
这个文件决定了系统级别所有进程可以打开的文件描述符的数量限制,如果内核中遇到VFS: file-max limit <number> reached
的信息,那么就提高这个值。
设置方式:
- # /etc/sysctl.conf
- fs.file-max = 6553500
sysctl -p
2. file-nr
这个是一个状态指示的文件,一共三个值,第一个代表全局已经分配的文件描述符数量,第二个代表自由的文件描述符(待重新分配的),第三个代表总的文件描述符的数量。
cat /proc/sys/fs/file-nr
3. nofile
nofile全称number of open files
,最大可打开的文件描述符数量,这个限制是针对用户和进程来说的。
3.1. 全局修改,永久生效,需要重启
- # /etc/security/limits.conf
- * soft nofile 65535
- * hard nofile 65535
注意:对于ubuntu系统,还需要加载相应的pam模块才能生效
- # /etc/pam.d/login
- # Sets up user limits according to /etc/security/limits.conf
- # (Replaces the use of /etc/limits in old login)
- session required pam_limits.so
3.2. 临时调整
ulimit -HSn 655350