进度句柄限制总计,Linux展开句柄限制的调度

受网络海人民广播电台湾大学帖子影响,一向认为Unix、Linux下单个进度张开句柄数目上限是65535,不能够超过这些值,近些日子从网络看到另一种描述,在SUSE、RedHat都测试了眨眼间间,单个进程完全能够支持到100万以上的句柄。

Linux张开句柄限制的调节

至于系统文件句柄的多少个限制从大往小排列:

Linux 张开句柄限制的调动

 

Linux 句柄限制分为1系统级限制和2用户级限制:

/proc/sys/fs/nr_open > /proc/sys/fs/file-max >= ulimit -Hn
>= ulimit -Sn

/proc/sys/fs/nr_open

1 系统级限制

系统文件系统辅助文件句柄总量上限,暗许值1048576(1M),Linux2.6.25早先增添该内核参数,用于替换内核宏N大切诺基_OPEN(1048576),该值上限受限于系统内部存储器。

1.1 /proc/sys/fs/nr_open

系统文件系统帮忙文件句柄总的数量上限, 暗许值1048576 (1M).
该值上限受限于系统内部存款和储蓄器. 这么些是具有限制的最大值.

在linux 2.26.32阳台进行“man 5
proc”未有见到“/proc/sys/fs/nr_open”,只看到NR_OPEN参数限制/proc/sys/fs/file-max。

1.2 /proc/sys/fs/file-max

系统文件系统协助文件句柄总的数量最大值, 必须低于 nr_open.
查看命令(上面3个指令等效):

[[email protected] ~]# sysctl -a | grep -i file-max --color
fs.file-max = 188436
[[email protected] ~]# cat /proc/sys/fs/file-max
188436
[[email protected] ~]# sysctl -e fs.file-max
fs.file-max = 188436

查阅当前系统采纳的开拓文件讲述符数命令:

 

[[email protected] ~]# cat /proc/sys/fs/file-nr
832    0    188436

其中file-max = 188436

 

/proc/sys/fs/file-max

1.3 更改 file-max

最近改换, 重启后消失:

 

[[email protected] ~]# 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改变之后,运行上面包车型大巴下令使改换及时生效:

[[email protected] ~]# sysctl -p

 

系统文件系统协理文件句柄总量最大值,必须低于/proc/sys/fs/nr_open或NR_OPEN,扩展该值时,必须联合修改/proc/sys/fs/inode-max
= 4*/proc/sys/fs/file-max。

2 用户级限制

www.bifa365.com,ulimit -Hn

2.1 硬上限 ulimit -Hn

单个进程句柄数硬上限. <= file-max. 查看命令:

 

[[email protected] ~]# ulimit -Hn
4096

有的时候改造, 重启后未有:

 

 

[[email protected] ~]# ulimit -Hn 8192
[[email protected] ~]# ulimit -Hn
8192

 

单个进度句柄数硬上限,私下认可值1024,不能超过/proc/sys/fs/file-max,修章非常的少讲。

2.2 软上限 ulimit -Sn

单个进度句柄数软上限, <= ulimit -Hn. 查看命令:

 

[[email protected] ~]# ulimit -Sn
1024
[[email protected] ~]# ulimit -n
1024

权且转移, 重启后消退:

 

 

[[email protected] ~]# ulimit -Sn 8000
[[email protected] ~]# ulimit -n
8000

 

ulimit -Hn

2.3 修改单个进度句柄数上限

并且一时改换软硬上限(<=file-max)重启后一无往返:

 

[[email protected] ~]# ulimit-SHn 10240

 

永远修改软硬上限(LANDHEL6.4), 在 /etc/security/limits.conf 里设置(*
表示对所有用户):

 

#......
#@student        -       maxlogins       4

*    hard    nofile    10240
*    soft    nofile    10240

# End of file

 

Linux 展开句柄限制的调治Linux 句柄限制分为1系统级限制和2用户级限制: /proc/sys/fs/nr_open
/proc/sys/fs/file-max = ulimit…

单个进度句柄数软上限,暗许值1024,无法压倒“ulimit
-Hn”硬上限,修章相当少讲。

FD_SETSIZE

Linux情状多个C语言的宏定义,在/usr/include/bits/typesize.h或有定义,暗中认可值1024,到这段日子截止,作者只认同该宏定义限制FD_SET()、FD_CL索罗德()操作的文书讲述符值,推测应该是Linux开始的一段时代版本遗留下来的八个限量。既然select()操作已经淘汰了,这么些宏定义应该也没用了。假若要使用select()体系操作,能够在gcc编写翻译时定义该宏“-DFD_SETSIZE=65535”。

手工业修改操作系统句柄,请依据下表修改配置:

操作系统

查看句柄数方法

修改句柄数方法

Linux

ulimit -Sn   

—查看句柄数软限制

ulimit -Hn   

—查看句柄数硬限制

检查/etc/security/limits.conf文件,修改或增加如下配置:

*                hard    nofile          65536

*                soft    nofile          65535

在/etc/pam.d/su、/etc/pam.d/xdm、/etc/pam.d/login文件增加如下配置:

session  required      pam_limits.so

HP

kctune -q maxfiles

—查看句柄数软限制

kctune -q maxfiles_lim

—查看句柄数硬限制

执行命令修改:

kctune maxfiles>=XXX

XXX范围【32,maxfiles_lim】,maxfiles_lim的取值范围【32,1048576】,但是大于65535时,某些老版本的文件函数不兼容。

maxfiles修改后,必须重启操作系统生效。

Aix

ulimit -Sn   

—查看句柄数软限制

ulimit -Hn   

—查看句柄数硬限制

检查/etc/security/limits文件,增加修改如下配置:

nofiles = -1

nofiles_hard=-1

在AIX6测试验证:即使配置为ulimited,单个进程只能打开65535个句柄。

Solaris

ulimit -Sn   

—查看句柄数软限制

ulimit -Hn   

—查看句柄数硬限制

检查/etc/system文件,增加修改如下配置:

rlim_fd_max=65535

rlim_fd_cur=65535

修改后,需要重启机器生效。

本文永世更新链接地址:http://www.linuxidc.com/Linux/2015-04/116392.htm

www.bifa365.com 1

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website