Linux 打开句柄限制的调整
Linux 打开句柄限制的调整
参考文章:
Linux---进程句柄限制总结(http://blog.csdn.net/jhcsdb/article/details/32338953)
!! 本文内容仅在 RHEL6.4 上测试通过.
Linux 句柄限制分为1系统级限制和2用户级限制:
/proc/sys/fs/nr_open > /proc/sys/fs/file-max >= ulimit -Hn >= ulimit -Sn
1 系统级限制
1.1 /proc/sys/fs/nr_open
系统文件系统支持文件句柄总数上限, 默认值1048576 (1M). 该值上限受限于系统内存. 这个是所有限制的最大值.
1.2 /proc/sys/fs/file-max
系统文件系统支持文件句柄总数最大值, 必须小于 nr_open. 查看命令(下面3个命令等效):
[root@vm-cdh4 ~]# sysctl -a | grep -i file-max --color fs.file-max = 188436 [root@vm-cdh4 ~]# cat /proc/sys/fs/file-max 188436 [root@vm-cdh4 ~]# sysctl -e fs.file-max fs.file-max = 188436
查看当前系统使用的打开文件描述符数命令:
[root@vm-cdh4 ~]# cat /proc/sys/fs/file-nr 832 0 188436其中file-max = 188436
1.3 更改 file-max
临时改变, 重启后消失:
[root@vm-cdh4 ~]# sysctl -w fs.file-max=102400永久性的更改, 在/etc/sysctl.conf中加入(适用于 2.2 和 2.4 版内核):
fs.file-max=102400 #### 仅对于2.2 版内核: #### fs.inode-max=102400当/etc/sysctl.conf改变之后,运行下面的命令使改变立即生效:
[root@vm-cdh4 ~]# sysctl -p
2 用户级限制
2.1 硬上限 ulimit -Hn
单个进程句柄数硬上限. <= file-max. 查看命令:
[root@vm-cdh4 ~]# ulimit -Hn 4096临时更改, 重启后消失:
[root@vm-cdh4 ~]# ulimit -Hn 8192 [root@vm-cdh4 ~]# ulimit -Hn 8192
2.2 软上限 ulimit -Sn
单个进程句柄数软上限, <= ulimit -Hn. 查看命令:
[root@vm-cdh4 ~]# ulimit -Sn 1024 [root@vm-cdh4 ~]# ulimit -n 1024
临时更改, 重启后消失:
[root@vm-cdh4 ~]# ulimit -Sn 8000 [root@vm-cdh4 ~]# ulimit -n 8000
2.3 修改单个进程句柄数上限
同时临时修改软硬上限(<=file-max)重启后消失:
[root@vm-cdh4 ~]# ulimit-SHn 10240
永久修改软硬上限(RHEL6.4), 在 /etc/security/limits.conf 里设置(* 表示对所有用户):
#...... #@student - maxlogins 4 * hard nofile 10240 * soft nofile 10240 # End of file
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。