文件描述符数
文件描述符的数量,包括系统级、用户级、进程级。这三个限制的含义和修改方式如下:
1.系统级:当前系统可打开的最大数量,通过fs.file-max参数可修改
# 查看 cat /proc/sys/fs/file-max # 动态修改(重启后失效) sysctl -w fs.file-max=102400 # 配置文件修改 vi /etc/sysctl.conf fs.file-max=102400 # 在文件末尾添加 保存退出后使用sysctl -p 命令使其生效 和fs.file-max有关的一个参数是file-nr, 该参数是只读的 cat /proc/sys/fs/file-nr 3296 0 2259544 file-nr的值由3部分组成:1,已经分配的文件描述符数;2,已经分配但未使用的文件描述符数;3,内核最大能分配的文件描述符数注意: 只要你的内存足够大,file-max的值可以非常大。
2.用户级:指定用户可打开的最大数量,修改/etc/security/limits.conf
用户级别的限制是通过可以通过命令ulimit命令和文件/etc/security/limits.conf
ulimit -n 655350 # 查看硬件资源限制 ulimit -Hn 655350 # 软件资源限制 ulimit -Sn 655350 # 设置软/硬件资源限制 ulimit -Sn 655350 或 ulimit -Hn 655350 查看limits.conf文件cat /etc/security/limits.conf # 输出 * hard nofile 655350 * soft nofile 655350 limits.conf 文件的格式是:
如果domain的值是一个用户名,则可以限制该用户下的所有进程能打开的文件描述符总数,如果是*则表示针对每个用户都起作用
注意 针对同一个item取值, soft的值不能大于hard