打开文件数的限制也就是系统中全部可用文件描述符的个数。
本文介绍怎么查询、提高这个限制数。
查看最高限制数:
$ cat /proc/sys/fs/file-max
不同系统,限制也不同。
当前使用的文件描述符个数:
$ sysctl fs.file-nr
提高最大限制数:
$ sudo sysctl -w fs.file-max=500000
上面是全局配置,在Linux的系统中对于进程(Process)也会有一些限制,这就所谓的limit,在实际应用中最常见的就是对打开文件(Open Files)的限制,在配置web 服务如nginx时就会用到。在linux中这些限制是分为软限制(soft limit)和硬限制(hard limit)的。他们的区别就是软限制可以在程序的进程中自行改变(突破限制),而硬限制则不行(除非程序进程有root权限)
使用ulimit 命令可以分别查看软限制和硬限制,方法实在查看的参数前加 S 或 H。例如,查看打开文件数限制
$ ulimit -Sn 查看的是软限制
$ ulimit -Hn 查看的是硬限制
修改下面的文件更改系统的限制
$ sudo vim /etc/security/limit.conf
例如我们为nginx的运行账户nginx设置打开文件的限制,在上面的文件中加入
nginx soft nofile 10000
nginx hard nofile 30000
在这个文件中我们可以对cpu, 内存等等设置限制。